为了账号安全,请及时绑定邮箱和手机立即绑定

es6,从一个数组中删除另一个数组包含的内容

es6,从一个数组中删除另一个数组包含的内容

开满天机 2019-03-06 13:14:09
我的代码有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)

    })


查看完整回答
1 反对 回复 2019-03-28
?
摇曳的蔷薇

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])

        }

    }

}

这样也可以达到你想要的效果


查看完整回答
反对 回复 2019-03-28
  • 2 回答
  • 0 关注
  • 4308 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信