js删除数组中某一条数据(js数组删除一个指定元素方法)

 分类:js知识时间:2022-07-31点击:

js删除数组中某一条数据,我们必须在 JavaScript 中执行的最常见任务之一是从数组中删除特定项目。 然而,这并不简单。 JavaScript 中没有 removeArrayItem 方法,所以我们必须使用替代方法。 让我们看看如何在 JavaScript 中删除特定的数组项,今天本文分享教你js数组删除一个指定元素方法。

七爪源码:如何从数组中删除特定项

如何在js数组删除一个指定元素

选项 1:使用 filter()

使用现代 JavaScript 删除特定数组项的最简单方法是使用 filter()。 我们来看一个简单的例子:

let myArr = [ "", "", "", "" ];// Creates a new array without "" - so [ "", "", "" ]
let removedArr = myArr.filter((x) => x !== "");
console.log(removedArr);

当我们有一个每个元素都是唯一的数组时,这很有效。 不幸的是,如果您只想删除一项,它就会开始崩溃,并且存在重复项。 让我们看另一个例子:

let myArr = [ "", "", "", "" ];// Creates a new array without "" - so [ "",  "" ]
let removedArr = myArr.filter((x) => x !== "");
console.log(removedArr);

由于我们有两个青苹果,并且新数组过滤掉了所有青苹果,因此我们在使用此方法时实际上删除了两个项目。 如果我们只想删除一个元素,我们必须使用另一种策略。


选项 2:使用 indexOf() 和 splice()

此方法需要多行几行,但与前面的示例在一些方面略有不同:

  • 首先,它改变了原始数组——所以我们不会在这里复制。 原始数组将被变异

  • 其次,它使用两个函数——首先我们获取要删除的数组项的 indexOf,然后我们拼接数组以删除该单个项。

这是一个例子:

let myArr = [ "", "", "", "" ];
let getLocation = myArr.indexOf("");
myArr.splice(getLocation, 1);
// myArr now becomes [ "", "",  "" ];
console.log(myArr);

在某些情况下,此示例可能更可取,但最终您需要确定在您自己的代码中最有效的方法。


结论

尽管在 JavaScript 中没有直接从数组中删除项的方法,但我们确实有两个工具可以为我们提供足够的灵活性来涵盖几乎所有有关删除数组项的用例。

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: