最近做demo有个批量删除的操作,就第一想法是过滤,过滤掉A中B存在的元素,
数据格式
A:[ { id:"" , name:"" }, { id:"" , name:"" } ]
B:[ "123", "124" ] //为A中的id值
先抛砖引玉
A = A.filter( item => !B.includes(item.id));
但是想想,感觉数据量大的时候这样操作有点不优雅,于是请大伙给点想法。
最近做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