Js数组去重最经典三种方法

113 阅读1分钟

1:ES5最常用双层for循环配合splice

function unique(arr){
    for(let i=0;i<arr.length;i++){
        for(let j=i+1;j<arr.length;j++){
            if(arr[i]==arr[j]){
                arr.splice(j,1)
                j--
            }
        }
    }
    return arr
}

2:通过indexOf配合for循环

function unique(arr){
   let arr1=[];
   for(let i=0;i<arr.length;i++){
       if(arr1.indexOf(arr[i])===-1){
           arr1.push(arr[i])
       }
   }
   return arr1
}
   

3:通过Set

function unique(arr){
    arr=[...new Set(arr)]
    return arr
}