js學習筆記(新手向)

剛纔想用循環值來刪除數組的元素數組

代碼大體以下:code

for(var i = 0; i < arr.length; i++) {
    if (tem == tem) {                //這裏是判斷
        arr.splice(i, 1);
    }
}

發現有bug,,,,,緣由是在刪除數組的一個元素後,,,,元素後續的全部下標都會改變,,,,,而循環值 i 一直增長,,,,就達不到想要的效果class

在仔細思考兩分鐘後,,,想到一個方法原理

var tem = [];
for(var i = 0; i < arr.length; i++) {
    if (tem != tem) {                //反向判斷
        tem.push(arr[i]);
    }
}

arr = tem;

原理就是把不該該刪除的元素用其餘 數組裝起來,,,,而後再把要修改的數組賦值就好了,,,,,循環

這樣就完成了刪除        
bug

相關文章
相關標籤/搜索