剛纔想用循環值來刪除數組的元素數組
代碼大體以下: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