JS数组去重方法

一、使用for循环

function deRepeat(arr){
       var newArr=[];
       for(var i=0;i<arr.length;i++){
           if(newArr.indexOf(arr[i])==-1){//如果新的数组中没有这个值,就将其添加到新的数组中
               newArr.push(arr[i]);
           }
       }
       return newArr;
}

二、使用forEach方法

function deRepeat(arr){
     var newArr = [];
     arr.forEach(function(e,index,arr){
        if(arr.indexOf(e)==index){//如果该值是第一次出现,则将其添加到新的数组中
            newArr.push(e);
        }
     })
     return newArr;
 }

三、使用filter方法

function deRepeat(arr){
     var newArr = arr.filter(function(e,index,arr){
        return arr.indexOf(e)==index;
     })
     return newArr;
 }

四、先将数组进行排序,再对比

function deRepeat(arr){
    var newArr=[];
    var temp;
    arr.sort();
    newArr.push(arr[0]);
    for(var i=1; i<arr.length;i++){
        if(arr[i]!=temp){
            newArr.push(arr[i]);
            temp= arr[i];
        }
    }
    return newArr;
}

五、set数据结构和from方法

function deRepeat(arr) {
  return Array.from(new Set(array));
}

 六、使用sort方法

给.sort()添加一个函数参数

var array=[2,5,1,9,56,109];    
    array.sort(function(a,b){
    return num1-num2;
});

 

posted @ 2018-10-24 10:53  LFei_0619  阅读(182)  评论(0)    收藏  举报