Javascript数组:如何删除另一个数组中包含的所有匹配元素

时间:2018-07-31 16:58:05

标签: arrays

我有2个JavaScript数组,分别是ab,并且我想从数组a中删除公共元素。

请帮忙。

var a = [{
    name: 'java',
    id: '1'
  },
  {
    name: 'php',
    id: '2'
  },
  {
    name: 'ruby',
    id: '3'
  },
  {
    name: 'phyton',
    id: '4'
  }

];
var b = [{
    name: 'java',
    id: '1'
  },
  {
    name: 'php',
    id: '2'
  }


];

1 个答案:

答案 0 :(得分:1)

基本上,这是一个简单的过滤操作。我会将b中的id放入数组中,然后按这些元素进行过滤

var a = [{
    name: 'java',
    id: '1'
  },
  {
    name: 'php',
    id: '2'
  },
  {
    name: 'ruby',
    id: '3'
  },
  {
    name: 'phyton',
    id: '4'
  }
];
var b = [{
    name: 'java',
    id: '1'
  },
  {
    name: 'php',
    id: '2'
  }
];

const exists = b.map(e => e.id);
const res = a.filter(e => !exists.includes(e.id));
console.log(res);

相关问题