该方法也很简洁,测试相同的数据耗时为:4-5ms,关键优化点是利用indexOf的第二个参数去避免不必要的查询。 5.filter去重方法二 和方法4的区别是利用数组的索引的唯一性来去重 function distinct5(arr = testArr) { return arr.filter((v, i, array) => array.indexOf(v) === i) } 该方法同4,但是性能...
1.遍历数组法 最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下: var arr = [1,3,5,7,9,1,9,5,9,3,5,11,13]; function unique1(array){ ...
通过利用对象建名的唯一性去去重 functiondistinct3(arr=testArr){letresult=[],resultObj={},len=arr.length;for(leti=0;i<len;i++){letval=arr[i],type=typeofval;if(!resultObj[val]){result.push(val);resultObj[val]=[type];}elseif(!resultObj[val].indexOf(type)<0){result.push(val);re...
最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下: vararr = [1,3,5,7,9,1,9,5,9,3,5,11,13];functionunique1(array){varnewArr=[];//新...