js从数组中删除特定项的方法

js目前并没有专属方法删除特定项,通常还是先获取索引值,然后移除。

let target = [1, 2, 3, 4, 5];
let index = target.indexOf(3); // 获取索引

if (index >= 0) {   // 如果存在
  target.splice(index, 1);
}

console.log(target); // 新数组 target = [1, 2, 4, 5];

如果要删除数组中所有与特定项相同的元素,用循环即可。

let removeAllItem = function (target, value) {
  let index = 0;
  while (index < target.length) {
    if (target[index] === value) {
      target.splice(index, 1);
    } else {
      index++;
    }
  }

  return target;
}

removeAllItem([1, 2, 3, 4, 5, 5], 3);

这里有种简单的方法,推荐使用。

let value = 3

let target = [1, 2, 3, 4, 5, 3]

target = target.filter(function(item) {
  return item !== value;
})

// 或者用 ES 6语法
// target = target.filter(item => item !== value);

console.log(target) // target = [1, 2, 4, 5];

(版权归cpury.com所有,转载请注明出处。)