美文网首页
Splice的坑

Splice的坑

作者: 阿木林_李 | 来源:发表于2018-01-22 13:28 被阅读0次

循环添加与删除,确实splice很好用,而且功能强大,但是有个坑确实让人一时半会儿摸不着头脑。所以在此记下。

splice 是直接操作并修改数组的,所以当找到相对应的Array元素时,此时, i的 下标是之前数组的下标,而当删除此元素后,数组下标 i 位置中保存的数字变为了原先数组的下一个元素,然后到了下一个循环时,就跳过了这个元素。原理就是这样子,是不是有点绕。所以用 i = i-1就解决了。

for(var i = 0; i<rowData.length; i++){

     var id = rowData[i][0];

     var parentId = rowData[i][2];

     if(id === parentId){

     original_array.push(rowData[i]);

     rowData.splice(i,1);

     i = i -1;

    }

}

相关文章

网友评论

      本文标题:Splice的坑

      本文链接:https://www.haomeiwen.com/subject/gvelaxtx.html