为什么要用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()​。

祝学习愉快!

1

0 学习 · 9886 问题

查看课程