📌  相关文章
📜  js 数组删除特定元素 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:24.103000             🧑  作者: Mango

JavaScript 数组删除特定元素

在 JavaScript 中,我们有多种方法可以删除数组中的特定元素。这些方法包括:

  • 使用 splice() 方法
  • 使用 filter() 方法
  • 使用 pop()shift() 方法,结合 indexOf() 方法

下面我们将依次介绍每种方法的使用。

使用 splice() 方法

splice() 方法是用于修改数组的方法之一,它可以在数组中添加或删除元素。删除元素时,需要传递两个参数:要删除的第一个元素的下标以及要删除的元素的数量。例如,我们可以使用以下代码删除一个数组中的第二个元素:

let arr = [1, 2, 3, 4];
arr.splice(1, 1); // 删除 arr 中下标为 1 的元素(也就是数字 2)
console.log(arr); // [1, 3, 4]

注意,splice() 方法会修改原始数组,而不是返回一个新的数组。因此,在使用 splice() 方法删除数组中特定的元素时,请确保您愿意修改原始数组。

以下是使用 splice() 方法删除数组中所有特定元素的示例代码:

function deleteFromArray(arr, elem) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === elem) {
      arr.splice(i, 1);
      i--;
    }
  }
}

此函数将遍历 arr 数组中的所有元素,并删除与 elem 相等的元素。请注意我们在删除元素后将循环变量 i 减去了 1,以确保我们正确地遍历了所有元素。

使用 filter() 方法

filter() 方法是 JavaScript 数组的另一个内置方法,它可以返回一个新数组,其中包含原始数组中满足特定条件的所有元素。下面是使用 filter() 方法删除数组中特定元素的示例代码:

function deleteFromArray(arr, elem) {
  return arr.filter(item => item !== elem);
}

该函数将返回一个新数组,其中包含 arr 数组中不等于 elem 的所有元素。请注意,此方法不会修改原始数组。

使用 pop()shift() 方法

pop()shift() 方法分别用于删除数组的最后一个元素和第一个元素。结合 indexOf() 方法,我们可以在数组中删除特定的元素。以下是使用这种方法删除数组中单个元素的示例代码:

function deleteFromArray(arr, elem) {
  let index = arr.indexOf(elem);
  if (index !== -1) {
    arr.splice(index, 1);
  }
  return arr;
}

该函数将查找 arr 数组中与 elem 相等的元素的位置,并使用 splice() 方法删除该元素。请注意,此方法也不会修改原始数组。

以上是 JavaScript 中删除数组中特定元素的三种常用方法。您可以根据任务的要求选择适当的方法,以及决定是否修改原始数组或返回一个新数组。