批量删除数组中的多个对象

1. 逆向循环删除(正常删除没问题,但是我在做分页的时候批量删除有问题)

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         }

 2.正向循环删除

从arr1中匹配arr2,并删除(有点浪费性能)

 1     // 删除封装方法
 2     remove(arr1, arr2) {
 3       for (let i = 0; i < arr2.length; i++) {
 4         for (let j = 0; j < arr1.length; j++) {
 5           if (arr2[i].agentId === arr1[j].agentId) {
 6             let indexs = arr1.indexOf(arr1[j]);
 7             arr1.splice(indexs, 1);
 8           }
 9         }
10       }
11       return arr1;
12     },

 

posted @ 2020-05-22 12:02  顺·  阅读(3222)  评论(0编辑  收藏  举报