js数组去重

72 阅读1分钟

1.splice 双层for循环

   function norepeat(arr){
​
•        //运用选择排序思想
​
•          for(var i=0;i< arr.length-1;i++){
​
•            //用第一个数和其余的数作比较
​
•            for(var j = i+1;j<arr.length;j++){
​
•               //如果两个相等
​
•               if(arr[i] == arr[j]){
​
•                arr.splice(j,1);
​
•                j--;
​
•               }
​
•            }
​
•          }
​
•          return arr;
​
•    }

2.indexOf 用一个临时的数组 和 传递过来的数组里面的每一项 比较,如果临时数组.indexOf(传递过来的数组的数组项),如果值-1 把传递过来的数组的某一项push到临时数组里面

 function norepeat(arr){
​
•            var tempArr = [];
​
•            for(var i = 0,j = arr.length;i < j; i++){
​
•                if(tempArr.indexOf(arr[i]) == -1){
​
•                    tempArr.push(arr[i]);
​
•                };
​
•            }
​
•            return tempArr;
​
•        }

3.set数组去重

 var arr = [1,1,1,2,3,3,3,32,2,2,3,4,4,4,5,5]
​
•        var arrSet = new Set(arr);
​
•        console.log(arrSet); // 1,2,3,32,4,5
`