ES6实现定位删除数组中的某一项

这篇博客介绍了如何利用JavaScript中的findIndex()方法找到数组中满足特定条件的元素的索引,然后结合splice()方法删除该元素。示例代码展示了在数组中查找并删除id为6的对象的过程。此外,还详细解释了findIndex()和splice()方法的参数及工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 使用 findIndex() 定位满足条件的项,然后通过 splice() 进行删除

废话不多说,上代码:

 

                    // 定义一个空数组
                    let items = [];
                    // 向数组中存放 7 个对象
                    for (let i = 3; i < 10; i++) {
                        items.push(
                            {
                                id: i,
                                name: "zym" + i,
                                age: 20 + i,
                            }
                        )
                    }
                    // 定位满足条件项的下标
                    let obj = items.findIndex((item) => {
                        // id 等于 6 的元素下标
                        if (item.id == 6) {
                            return true;
                        }
                    });
                    // 打印 obj,会发现是数组元素下标 3
                    console.log(obj);
                    // 根据下标删除元素, 第一个参数值需要开始删除元素的下标  第二个参数是指删除元素的个数
                    items.splice(obj, 1);
                    // id 等于 6 的对象已被删除
                    console.log(items);

结果:

 2. 删除数组中某一项已实现,接下来我们看看 findIndex() 方法的定义

 

 看以上语法截图,findIndex() 的第一个参数是一个函数,也是必填项,函数的三个参数也有说明,函数的第一个参数也是必填项,第一个参数是当前元素,这有点像java的增强for循环,遍历数组,拿到每个数组对象。

当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。如果没有符合条件的元素返回 -1。这就是上述代码 obj 等于的 3 的原因。

3.再看看splice() 的定义

 splice() 方法也有三个参数,第一个参数是必填项,是指需要被删除元素的下标,第二个参数是可选项,是指从下标(第一个参数)开始,删除后面几项。1 代表删除 1 项,0 代表不删除任何项。一般我们用 splice() 也就传两个参数。

以上语法截图来自,菜鸟教程,有兴趣的朋友可以移步菜鸟教程。https://www.runoob.com/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值