在 JavaScript 中按值从数组中删除项目

Ammar Ali 2023年10月12日
  1. 使用 JavaScript 中的 splice() 函数按值从数组中删除项目
  2. 使用 JavaScript 中的 filter() 函数按值从数组中删除项目
在 JavaScript 中按值从数组中删除项目

本教程将讨论如何使用 JavaScript 中的 splice()filter() 函数按值从数组中删除项目。

使用 JavaScript 中的 splice() 函数按值从数组中删除项目

要按值从数组中删除项目,我们可以使用 JavaScript 中的 splice() 函数。splice() 函数使用索引从数组中添加或删除项目。要按值从给定数组中删除项目,你需要使用 indexOf() 函数获取该值的索引,然后使用 splice() 函数使用其索引从数组中删除该值。例如,让我们创建一个包含三个字符串值的数组,并使用 splice()indexOf() 函数删除一个字符串值。请参考下面的代码。

var myArray = ['one', 'two', 'three'];
var myIndex = myArray.indexOf('two');
if (myIndex !== -1) {
  myArray.splice(myIndex, 1);
}
console.log(myArray)

输出:

["one", "three"]

在上面的代码中,我们使用 if 语句来检查该值是否存在于数组中。如果该值存在,则其索引不会为 -1;否则,它将是-1。indexOf() 函数返回给定值的索引,如果它不存在于数组中,函数将返回 -1。如果该值存在于数组中,我们将使用 splice() 函数删除 myIndex 中存在的 1 个值。我们还可以通过在 splice() 函数中将其定义为第二个参数来从数组中删除多个值。console.log() 函数将在控制台上从数组中删除项目后显示新数组。

使用 JavaScript 中的 filter() 函数按值从数组中删除项目

要按值从数组中删除项目,我们可以使用 JavaScript 中的 filter() 函数。filter() 函数用于通过对数组的每个值应用 filter() 函数内部定义的函数来过滤给定数组中的值。在我们的例子中,我们将在 filter() 函数内定义一个函数,它将返回所有值以接受我们想要从数组中删除的值,并将结果存储在一个新数组中。例如,让我们创建一个包含三个字符串值的数组,然后使用 filter() 函数,我们将创建另一个数组,该数组将包含第一个数组的所有值,但要删除的值除外。这样,我们原来的数组就不会改变了。请参考下面的代码。

var myArray = ['one', 'two', 'three'];
var newArray = myArray.filter(function(f) {
  return f !== 'two'
})
console.log(newArray)

输出:

["one", "three"]

在上面的代码中,我们从数组中删除了值 two 并将结果保存在变量 newArray 中,该变量将显示在控制台上。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - JavaScript Array