标签:
正所谓“一山不容二虎,一渊不藏两蛟”,在某些“矫情”的需求中,数组中不能存在重复的元素,于是就有了对数组去重方法的讨论,关于数组去重的方法由来已久,我当然也想不出什么原创的方法了,这里只是简单的总结一下以备忘。
不过,我们要先声明一下,上面的这句强行组成的谚语还有下一句叫做“除非一公一母” ;也就是说如果是一公一母的两个元素是可以同时存在的,为了避免混淆,这里规定元素之间的比较为严格相等,两个元素通过 === 比较返回 true 的视为相同元素,需要去重。“Baby,你就是我的唯一”接下来我们统一一下函数风格。函数名为unique,接受参数为数组,返回的参数也为数组。好了接下来一一列举我抄袭的数组去重方法。
双层循环,外层循环待去重数组,内层循环检查结果数组
如果在结果数组中有相同的值则跳过,不相同则push进结果数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
function unique(arr) { var result = []; for ( var i = 0, alen = arr.length; i < alen; i++) { var item = arr[i]; for ( var j = 0, rlen= result.length; j < rlen; j++) { if (result[j] ===item) break ; } if (j === rlen) //如果遍历完结果数组还没找到,说明不是重复的元素 result.push(item); } return result; } var arr=[2,8,6, ‘2‘ ,5,6,4,5,8,4,6]; console.log(unique(arr)); //[ 2, 8, 6, ‘2‘, 5, 4 ] |
标签:
原文地址:http://www.cnblogs.com/star91/p/5633287.html