js数组去重方法集合
Posted Samsara315
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组去重方法集合相关的知识,希望对你有一定的参考价值。
//第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就push进来 var arr = [‘a‘, 1, 1, 1, 2, 4, 4, ‘b‘, ‘c‘, ‘a‘]; var newArr = []; var len = arr.length; for (i = 0; i < len; i++) { var flag = false; for (var member of newArr) { if (member === arr[i]) { flag = true; break } } if (!flag) { newArr.push(arr[i]) } } console.log(‘1111111111111111‘, newArr)
//第二种,两层循环,相互比较,如果相同就删除 var arr2 = [1, 2, 3, ‘a‘, ‘b‘, 3, 2, ‘c‘, ‘a‘]; var len2 = arr2.length; while (len2-- > 0) { for (let i = 0; i < len2; i++) { if(arr2[i]==arr2[len2]){ arr2.splice(i,1) break } } } console.log(‘2222222222222‘,arr2)
//3.借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等 var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; function rep(arr) { for (var i = 0; i < arr.length; i++) { if (arr.indexOf(arr[i]) != i) { arr.splice(i,1);//删除数组元素后数组长度减1后面的元素前移 i--;//数组下标回退 } } return arr; } var a1 = rep(arr); console.log(a1);
//4.借助indexOf()和一个空数组 var arr3=[‘f‘,‘c‘,1,2,3,4,4,4,‘v‘,‘f‘]; var newArr3=[]; for(i=0;i<arr3.length;i++){ if(newArr3.indexOf(arr3[i])<0){ newArr3.push(arr3[i]) } } console.log(‘33333333333333‘,newArr3)
//5.filter方法 var arr4 = [1, 2, 3, 1,2,5,6] var arr4temp=arr4.filter(function(ele,index,self){ return self.indexOf(ele)===index; }) console.log(arr4temp)
以上是关于js数组去重方法集合的主要内容,如果未能解决你的问题,请参考以下文章