3种数组去重方法

147 阅读1分钟

1.利用Set去重

function unique (array) {
   return Array.from(new Set(array))
}
let array = [1,5,2,3,4,2,3,1,3,4];
console.log(unique(array)) //[1,5,2,3,4]

或者

[...new Set(array)]

缺点:无法去掉“{}”空对象

2.利用嵌套for循环去重

function unique(array){
  for(let i=0; i<array.length; i++){
    for(let j=i+1; j<array.length; j++){
      if(array[i]==array[j]){
         array.splice(j,1);
          j--;
        }
      }
   }
return array;
}
let array = [1,5,2,3,4,2,3,1,3,4];
console.log(unique(array)) //[1,5,2,3,4]

缺点:NaN和{}无法去重,null会被删除

3.利用map()去重

function unique(arr){
   let a=[]
   arr.map(item=>{
      if(a.indexOf(item)===-1){
       a.push(item)
       }
   })
return a
}
let array=[1,5,2,3,4,2,3,1,3,4]
console.log(unique(array)) //[1,5,2,3,4]

缺点:NaN和{}无法去重