數組去重-數組塌陷的解決方法

var arr =[23,4,23,4,23,4,54,56,54,66,43,4,1,4,6,3,4,1,66,99];
        for(var i =0; i<arr.length;i++){
            for(var j =i+1;j<arr.length;j++){
                if(arr[i] == arr[j]){
                    arr.splice(j,1);
                    j--; //因爲刪除了當前下標位置 後面的下標會回退一位 造成數組塌陷 所以需要自減一位 再進行j++就不會跳過去了
                }
            }
        }
        console.log(arr);//[23, 4, 54, 56, 66, 43, 1, 6, 3, 99]

那麼看看容易犯錯的以下幾個:

// var arr2= [];
        // for(var i = 0;i<arr.length;i++){
        //  if(arr[i]!=arr[i+1]){
        //      arr2.push(arr[i]);
        //  }
        // }
        // console.log(arr2);
var arr =[23,4,23,4,23,4,54,56,54,66,43,4,1,4,6,3,4,1,66,99];
        for(var i =0; i<arr.length;i++){
            for(var j =i+1;j<arr.length;j++){
                if(arr[i] == arr[j]){
                    arr.splice(j,1);

                }
            }
        }
        console.log(arr);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章