高效率去掉js数组中重复项
来源:互联网 发布:四十部网络禁书名单 编辑:程序博客网 时间:2024/05/30 04:46
Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法:
1 function unique(arr) { 2 var result = [], isRepeated; 3 for (var i = 0, len = arr.length; i < len; i++) { 4 isRepeated = false; 5 for (var j = 0, len = result.length; j < len; j++) { 6 if (arr[i] == result[j]) { 7 isRepeated = true; 8 break; 9 }10 }11 if (!isRepeated) {12 result.push(arr[i]);13 }14 }15 return result;16 }
总体思路是把数组元素逐个搬运到另一个数组,搬运的过程中检查这个元素是否有重复,如果有就直接丢掉。从嵌套循环就可以看出,这种方法效率极低。我们可以 用一个hashtable的结构记录已有的元素,这样就可以避免内层循环。恰好,在Javascript中实现hashtable是极为简单的,改进如 下:
function unique(arr) { var result = [], hash = {}; for (var i = 0, elem; (elem = arr[i]) != null; i++) { if (!hash[elem]) { result.push(elem); hash[elem] = true; } } return result;//http://www.cnblogs.com/sosoft/}
源引:http://www.cnblogs.com/sosoft/archive/2013/12/08/3463830.html
0 0
- 高效率去掉js数组中重复项
- 高效率去掉js数组中重复项
- 高效率去掉js数组中重复项
- 高效率去掉js数组中重复项
- 高效率去掉js数组中重复项
- 高效率去掉js数组中重复项
- 高效率去掉js数组中重复项
- JS数组高效率去除重复
- 去掉JS数组中重复的元素
- 去掉JS数组中重复的元素
- JS 去掉数组重复值
- js 去掉重复的 数组
- JS数组去掉重复元素
- 去除数组中重复的元素,高效率
- JavaScript中数组去掉重复的项
- 去掉数组中重复项之越过重复值法
- js中去掉重复键值
- js 字符串类型的数组去掉重复项
- 移位指令
- php判断键值在数组中是否存在
- Android四大组件之BroadcastReceiver
- 51nod 1191(贪心+优先队列)
- 截取字符串
- 高效率去掉js数组中重复项
- 在使用xib自定UIView时里面的tableView不显示问题
- 【优先队列】HDU1896Stones
- 如何在IIS7或IIS7.5中导入导出站点及应用程序池
- 使用Apache的ab工具进行网站性能测试
- D3DXMatrixLookAtLH
- 四元数
- 文章的 tfidf原理的python实现
- iOS 电话号码中间部分替换为**