JavaScript 从数组中删除索引

Harshit Jindal 2023年1月30日 2021年4月29日
  1. 使用 splice() 函数从 JavaScript 数组中删除特定元素
  2. 使用 Array.filter() 从 JavaScript 数组中删除特定元素
  3. 使用 Underscore.js 库从 JavaScript 数组中删除特定元素
  4. 使用 Lodash 库从 JavaScript 数组中删除特定元素
JavaScript 从数组中删除索引

本教程讲授如何从 JavaScript 中的数组中删除特定元素。

使用 splice() 函数从 JavaScript 数组中删除特定元素

splice() 方法可以通过添加/删除元素来修改数组的内容。它采用以下 3 个参数:

  1. index:一个整数值,指定要添加/删除元素的位置。我们甚至可以使用负索引从数组的后面指定一个索引。
  2. howmany:这是一个可选参数。它指定将从数组中删除多少个项目。如果将其设置为 0,则不会删除任何项目。
  3. item1, item2, ... ,itemx:要添加到数组中的元素。
const array = [1, 2, 3, 4, 5];
const index = array.indexOf(3);
if (index > -1) {
  array.splice(index, 1);
}
console.log(array); 

输出:

[1, 2, 4, 5]

在上面的代码中,我们首先找到要删除的元素的索引,然后使用 splice() 方法删除数组元素。

使用 Array.filter() 从 JavaScript 数组中删除特定元素

filter 方法循环遍历数组并滤除满足特定给定条件的元素。我们可以使用它删除目标元素并保留其余元素。它有助于我们同时删除多个元素。

var toRemove = 1;
var arr = [1, 2, 3, 4, 5];
arr = arr.filter(function(item) {
    return item !== toRemove
});
console.log(arr)

输出:

[2, 3, 4, 5]

我们使用 filter 函数来保留每个不等于要删除的元素的元素,并将新形成的数组分配给原始数组。

使用 Underscore.js 库从 JavaScript 数组中删除特定元素

Underscore.js 是一个非常有用的库,它为我们提供了许多有用的功能,而无需扩展任何内置对象。要从 JavaScript 数组中删除目标元素,我们必须使用 without() 函数。此函数返回数组的副本,其中删除了目标元素的所有副本。

const arr = [1, 2, 1, 0, 3, 1, 4];
arr = _.without(arr, 0, 1);
console.log(arr);

输出:

[2, 3, 4]

在上面的代码中,我们将数组和要删除的元素 01 传递给了 without 函数。它返回一个删除了这些元素的新数组,我们将其再次存储在 arr 中。

使用 Lodash 库从 JavaScript 数组中删除特定元素

Lodash 是一个很棒的库,它允许我们仅导入所需的函数,而不导入完整的库。它有一个名为 remove() 的函数,可以从数组中删除一个特定的元素。该函数采用数组,并检查与要从数组中删除的元素相匹配的条件。

var arr = [1, 2, 3, 4];
var greater = _.remove(arr, function(n) { return n > 2;});
console.log(arr)

输出:

[1,2]

在上面的代码中,我们将数组和一个函数检查元素是否大于 2 传递给 lodash 库的 remove 函数。它从数组中删除所有大于 2 的元素。

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

相关文章 - JavaScript Array