我的代码有bug,然后查了下是把==写成了=A [1,2,3,4,5,6,7]B [2,3,4]删除后A [1,5,6,7] this.selectRightTableData.forEach(item => { this.rightTableData.splice(this.rightTableData.findIndex(v => v.id = item.id), 1) }) 修复后,根据对象某个属性判断;是否相同 this.selectRightTableData.forEach(item => { this.rightTableData.splice(this.rightTableData.findIndex(v => v.id == item.id), 1) }) 根据内存地址判断this.selectLeftTableData.forEach(item => { this.leftTableData.splice(this.leftTableData.indexOf(item), 1) })
2 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
感觉还没有new array ,然后 indexOf往新数组push方便
const a = [1,2,3,4,5], b = [1,2],c = [];
a.forEach( v => {
if(b.indexOf(v) === -1) c.push(v)
})
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
let A=[1,2,3,4,5,6,7];
let B=[2,3,4];
let newB=[];
for(var i=0,lenA=A.length;i<lenA;i++){
for(var b=0,lenB=B.length;b<lenB;b++){
if(A[i]!=B[b]){
newB.push(B[b])
}
}
}
这样也可以达到你想要的效果
添加回答
举报
0/150
提交
取消