/** * 有效的方式 - 改變下標,控制遍歷 */ for (var i = 0; i < arr.length; i++) { if (...) { arr.splice(i, 1); // 將使后面的元素依次前移,數組長度減1 i--; // 如果不減,將漏掉一個元素 } } /** * 無效的方式 - for .. in 無法控制遍歷 */ for (var i in arr) { if (...) { arr.splice(i, 1); // 將使后面的元素依次前移,數組長度減1 i--; // 沒有效果,怎么都會漏掉一個元素 } }