我有以下两个Javascript数组:
const array1 = [{ id: 1}, { id: 2 }, { id: 3 }, { id: 4}];
const array2 = [{ id: 1}, { id: 3 }];
我现在想要一个新的数组
array3
,它只包含那些不在array2
中的对象,因此:const array3 = [{ id: 2}, { id: 4 }];
我尝试了以下方法,但它返回了所有对象,当我将条件更改为===
时,它返回了array2
的对象。
const array3 = array1.filter(entry1 => {
return array2.some(entry2 => entry1.id !== entry2.id);
});
有什么想法吗?欢迎使用 ES6
array.includes()
。附加参考:.includes()
vs.some()
。 - Gangula