📌  相关文章
📜  javascript 从数组中删除某些元素 - Javascript (1)

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

Javascript 从数组中删除某些元素

在 Javascript 中,有多种方法可以从一个数组中删除元素,本文将介绍其中的几种方法。

使用 splice()

splice() 方法可以删除一个或多个元素,并返回被删除的元素,同时修改原数组。

代码示例:

const arr = ["apple", "banana", "orange", "pear"];
const removed = arr.splice(1, 2);
console.log(arr); // ["apple", "pear"]
console.log(removed); // ["banana", "orange"]

上述代码中,splice() 方法的第一个参数是要删除元素的起始位置,第二个参数是要删除的元素个数。本例中,从数组的第一个位置开始删除两个元素。

使用 slice() 和 concat()

slice() 方法可以返回一个新的数组,其中包含指定起始位置到结束位置之间的元素,不会影响原数组。可以将要删除的元素切分成两个段,在使用 concat() 方法将这两段重新拼接成一个新的数组。

代码示例:

const arr = ["apple", "banana", "orange", "pear"];
const removed = arr.slice(0, 1).concat(arr.slice(2));
console.log(arr); // ["apple", "banana", "orange", "pear"]
console.log(removed); // ["apple", "orange", "pear"]

上述代码中,slice() 方法的第一个参数是要提取的起始位置,第二个参数是要提取的结束位置。本例中,提取了数组的第一个元素以及第三个元素之后的所有元素。

使用 filter()

filter() 方法可以创建一个新的数组,其中包含满足指定条件的元素,不会影响原数组。可以利用 filter() 方法来过滤掉要删除的元素。

代码示例:

const arr = ["apple", "banana", "orange", "pear"];
const removed = arr.filter((item, index) => index !== 1 && index !== 2);
console.log(arr); // ["apple", "banana", "orange", "pear"]
console.log(removed); // ["apple", "pear"]

上述代码中,filter() 方法接受一个函数作为参数,该函数会对数组中的每个元素执行一次,返回 true 或 false。如果返回 true,则对应元素会被包含在新的数组中,否则不会。本例中,返回 true 的条件是元素的下标不等于 1 和 2。

总的来说,Javascript 从数组中删除某些元素的方法有多种,选择哪一种方法取决于具体的需求。