js遍历数组,移除某个元素

js遍历数组,移除某个元素

splice方法 splice(下标,从下标的元素开始删除的元素个数)
如splice(0,1),从下标0开始,删除长度是一个元素

/**
 * 有效的方式 - 改变下标,控制遍历
 */
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--; // 没有效果,怎么都会漏掉一个元素
  }
}

猜你喜欢

转载自blog.csdn.net/MtangEr/article/details/87271020