JavaScript批量删除数组中元素

最近做demo有个批量删除的操作,就第一想法是过滤,过滤掉A中B存在的元素,
数据格式

A:[ { id:"" , name:"" }, { id:"" , name:"" } ]
B:[ "123", "124" ]  //为A中的id

先抛砖引玉

A = A.filter( item => !B.includes(item.id));

但是想想,感觉数据量大的时候这样操作有点不优雅,于是请大伙给点想法。

方法体内部使用splice方法,在使用for循环或者forEach遍历数组的话,删除数据不全

方法一 ,用逆向循环

for (let index = _this.teamIds.length - 1; index >= 0 ; index--) {
       if(_this.teamIds[index].indexOf(val) == '-1'){
          _this.teamIds.splice(index, 1);
       }

方法二,用filter

var arr = [1, 2, 3, 4, 5];
arr = arr.filter(item => item == 4);
console.log(arr);    //数组只留下4

看下这个 https://blog.csdn.net/weixin_42268006/article/details/120103305?spm=1001.2014.3001.5502

splice