文章内容
1、有效的方式 – 改变下标,控制遍历
1 2 3 4 5 6 7 8 | /** * 有效的方式 - 改变下标,控制遍历 */ for ( var i = 0; i < arr.length; i++) { if (...) { arr.splice(i, 1); // 将使后面的元素依次前移,数组长度减1 i--; // 如果不减,将漏掉一个元素 } } |
2、无效的方式 – for .. in 无法控制遍历
1 2 3 4 5 6 7 8 | /** * 无效的方式 - for .. in 无法控制遍历 */ for ( var i in arr) { if (...) { arr.splice(i, 1); // 将使后面的元素依次前移,数组长度减1 i--; // 没有效果,怎么都会漏掉一个元素 } } |