数组去重、new Set去重、for循环去重、indexOf去重、filter去重
第一种:new Set去重,new Set是ES6新推出的一种方法。
var arr=[1,1,2,2,3,3] let arr1=Array.from(new Set(arr)) console.log(arr1) //[1,2,3]
第二种:双重for循环去重,可以说是最古老的去重方法了,还没有Set,没有map,filter的时候,双重for循环几乎是去重的唯一方式。
var arr=[1,1,2,2,3,3] for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ arr.splice(j,1) j--; } } } console.log(arr) //[1,2,3]
第三种:indexOf去重。
var arr=[1,1,2,2,3,3] var arr2=[] for(var i=0;i<arr.length;i++){ if(arr2.indexOf(arr[i])==-1){ arr2.push(arr[i]); } } console.log(arr2) //[1,2,3]
第四种:sort去重
var arr=[1,1,2,2,3,3] var arr6=arr.sort((a,b)=>{return a-b;}) console.log(arr6) //[1,2,3]
第五种:使用filter配合indexOf进行的去重。
var arr=[1,1,2,2,3,3]
const handleRemoveRepeat = (arr) =>arr.filter((item,index) => arr.indexOf(item,0) === index);
var arr1=handleRemoveRepeat(arr)
console.log(arr1) //[1,2,3]