批量删除数组中的多个元素

时间:2020-05-22 12:52:42   收藏:0   阅读:289

正向思维的话,在循环中删除了第一条元素后,整个数组的长度都变了,第二个索引会删到那个元素后面的位置

用for循环或者forEach遍历数组的话,在方法体内部splice都得不到正确的结果,解决方法是使用逆向循环

1 //数组的批量删除,逆向循环
2         for (let i = this.confirmedData.length - 1; i >= 0; i--) {
3           for (let j = this.deleteorganizaLise.length - 1; j >= 0; j--) {
4             if (this.confirmedData[i].deptId === this.deleteorganizaLise[j].deptId) {
5               this.confirmedData.splice(i, 1)
6             }
7           }
8         }

 

原文:https://www.cnblogs.com/shun1015/p/12936362.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!