JavaScript如何从数组中删除特定数据?

2022-08-0420:19:49编程语言入门到精通Comments818 views字数 989阅读模式

增删改查是我们日常开发中的最基本任务,在JavaScript中我们经常需要从数据组删除特定的数据项。然而,JavaScript数组中并没有提供删除特定数据项的方法。所以我们必须使用替代的方法,来从javaScript中删除特定数据项。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

如何在Javascript中删除特定的数组项

1:使用 filter()

使用现代 Javascript 删除特定数组项的最简单方法是使用过滤器。让我们看一个简单的例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

let myArr = [ "?", "?", "?", "?" ];


let removedArr = myArr.filter((x) => x !== "?");
console.log(removedArr);
复制代码

当我们的数组中的每一个数据想都是唯一的时候,他是正常工作的,但是当我们的存在重复项的时候,此时如果你只想删除一个,保留其他重复的,这种方式是无法做到的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

let myArr = [ "?", "?", "?", "?" ];


let removedArr = myArr.filter((x) => x !== "?");
console.log(removedArr);

复制代码

由于我们有两个青苹果,并且新数组过滤掉了所有青苹果,因此我们在使用此方法时实际上删除了两个项目。如果我们只想删除一个元素,我们必须使用另一种方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

2:使用 indexOf() 和 splice()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1。 splice() 方法用于添加或删除数组中的元素。注意:这种方法会改变原始数组。 这种方式与上面的区别在于:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

  1. 首先,它改变了原始数组——所以我们不在这里复制。原始数组将被改变。
  2. 其次,它使用两个函数——首先我们获取indexOf要删除的数组项,然后我们splice获取数组以删除单个项。

这是一个例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

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

结论

尽管在 Javascript 中没有直接从数组中删除项目的方法,但我们确实有两个工具可以为我们提供足够的灵活性来涵盖几乎所有有关删除数组项目的场景。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

作者:樱舞
来源:稀土掘金文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26523.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26523.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定