gpt4 book ai didi

javascript - 比较两个数组与对象并创建具有不匹配对象的新数组

转载 作者:行者123 更新时间:2023-12-01 15:51:42 25 4
gpt4 key购买 nike

我有以下两个 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

最佳答案

您可以反转比较(等于而不是不等于)并返回 some 的否定结果.

const
array1 = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }],
array2 = [{ id: 1 }, { id: 3 }],
array3 = array1.filter(entry1 => !array2.some(entry2 => entry1.id === entry2.id));
// ^ ^^^

console.log(array3);

关于javascript - 比较两个数组与对象并创建具有不匹配对象的新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47642779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com