为什么要用list.findIndex找索引呢,为什么不能用形参id来计算呢
来源:4-2 删除用户
慕安斯6249671
2021-09-08 12:23:48
// del()函数有个形参id,给删除按钮绑定del函数的时候传参当前行的id
//在这里根据当前行的id删除list中对应的数据
function del (id) {
if(confirm('您确定删除该用户吗?')) {
// findIndex: 也可以循环遍历数组,返回满足条件的单元索引
let index = list.findIndex(item => item.id == id)
// 参数1: 要删除的单元索引
// 参数2: 删除接下来的几个单元
list.splice(index, 1);
/*
这样是不对的:
list.splice((id-1), 1);
*/
} }
请问为什么list.splice((id-1), 1);是不对的呢
1回答
好帮手慕小尤
2021-09-08
同学你好,1、同学使用list.splice((id-1), 1);是可以完成删除,但会出现id值错乱问题,从而导致在删除时出现无法删除数据的情况。如:先删除数据4,然后再删除数据5,此时就会出现该问题,数据5无法进行删除了。
2、而findIndex()返回的是满足条件的第一个数组元素的下标。不会出现id值错乱,从而在此时使用的是findIndex()。
祝学习愉快!
相似问题