js數組去重的方法

數組去重,指的是從一個有重複元素的數組中篩選出來重複的元素。css

1.方法一:在原數組中篩選web

var arr=[1,2,3,4,1,2,3,2,1,1,3,7,7,2,1,6,1,2,4,5,1,2,3];
        for(var i=0;i<arr.length;i++){
            //將數組中的每一個元素賦值給變量item
            var item=arr[i];
            for(var j=i+1;j<arr.length;j++){
                if(item===arr[j]){
                    arr.splice(j,1);//從第j位開始刪除1個元素
                    j--;
                }
            }
        }
        console.log(arr);

2.方法二:建立一個新數組篩選數組

// 去重
var arr=[1,2,3,4,1,2,3,2,1,1,3,7,7,2,1,6,1,2,4,5,1,2,3];
//建立一個新的空數組,用來存儲去掉重複的元素以後剩餘的元素
var arr1=[];
//for循環遍歷原數組arr
for(var i=0;i<arr.length;i++){
    var item=arr[i];
    //此處bool是個狀態,將其置爲true,默認其值爲真
    var bool=true;
    //for循環遍歷新建的arr1數組
    for(var j=0;j<arr1.length;j++){
         //若是檢測到arr中的元素值等於arr1中的某個元素值,就將bool置爲false,表示該元素重複,跳出本for循環,而且不會將它置入arr1中 if(arr1[j]===item){
            bool=false;
            break;
         }
    }
         //只有bool的值爲真時(即某個arr中的元素不等於arr1中的任何一個元素)纔會將該元素置入arr1 if(bool){
            arr1.push(item);
         }
}
console.log(arr);//原數組
console.log(arr1);//去重後的數組