陣列去重-陣列塌陷的解決方法
阿新 • • 發佈:2019-01-31
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);