splice():該方法會改變原始數組。
var arr=[1,2,3];
for(var i=0;i<arr.length;i++){
console.log(i+'='+arr[i]);
if(arr[i]==2){
arr.splice(i,1);
}
}
//0=1,1=2,
由結果可以看出,這個循環只循環了兩次,沒有判斷當arr[i]=3的情況,這是因為當 arr[2]==2的時候使用splice將該元素刪除后,該數組的長度變成了2,此時進行循環已經不滿足條件,所以當arr[i]=3的時候沒有再進行循環。
解決方法:
var arr=[1,2,3];
for(var i=arr.length-1;i>=0;i--){
console.log(i+'='+arr[i]);
if(arr[i]==2){
arr.splice(i,1);
}
}
————————————————
版權聲明:本文為CSDN博主「努力_才幸福」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_38098192/java/article/details/86153231
