1. 程式人生 > >陣列去重-陣列塌陷的解決方法

陣列去重-陣列塌陷的解決方法

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);