js數組,在遍歷中刪除元素


/**
 * 有效的方式 - 改變下標,控制遍歷
 */
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--; // 沒有效果,怎么都會漏掉一個元素
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM