数组去重、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]
posted @ 2022-11-11 11:30  srqsl  阅读(172)  评论(0编辑  收藏  举报