网站首页 > 技术文章 正文
我们必须在 JavaScript 中执行的最常见任务之一是从数组中删除特定项目。 然而,这并不简单。 JavaScript 中没有 removeArrayItem 方法,所以我们必须使用替代方法。 让我们看看如何在 JavaScript 中删除特定的数组项。
如何在 JavaScript 中删除特定的数组项
选项 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 中没有直接从数组中删除项的方法,但我们确实有两个工具可以为我们提供足够的灵活性来涵盖几乎所有有关删除数组项的用例。
关注七爪网,获取更多APP/小程序/网站源码资源!
猜你喜欢
- 2024-11-27 VirtualBox 7.1.2 发布! 带来多项 GUI 更新,无人值守安装已彻底删除
- 2024-11-27 Spring boot+Mybatisplus用AR模式实现逻辑删除操作
- 2024-11-27 碎片时间学编程「127]:从数组中删除元素
- 2024-11-27 JavaScript程序员需要掌握的5个debug技巧
- 2024-11-27 python 列表删除
- 2024-11-27 souce-map-js + Vue 还原生成环境报错,让JS报错无所遁形
- 2024-11-27 如何使用 rmdir 命令删除目录?
- 2024-11-27 illustrator插件-常用功能开发-删除所有蒙版-js脚本开发-AI插件
- 2024-11-27 如何在 Ubuntu 22.04 LTS 中添加、删除和授予用户 Sudo 权限
- 2024-11-27 删除此函数式编程技术的 Switch 语句
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-