我有一个问题,我有两个数组,它们的对象具有id等属性。我想比较这些数组并显示它们之间的区别,但仅从1个数组开始。
因为我要检查某个项目是否已删除,并且不再存在于其他数组中。这里是我如何实现此目的的示例:
var completedList = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 7 }, { id: 8 }],
invalidList = [{ id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }],
map = new Map(completedList.map(o => [o.id, o])),
result = Array.from(invalidList.reduce((m, o) => {
if (m.has(o.id)) {
m.delete(o.id);
} else {
m.set(o.id, o);
}
return m;
}, map).values());
console.log(result);
所以基本上我想输出的是invalidList与completedList的区别。所以我期望的输出是5,6