gpt4 book ai didi

javascript - 如何获得具有不同属性比较器的两个对象数组之间的差异?

转载 作者:数据小太阳 更新时间:2023-10-29 04:11:08 24 4
gpt4 key购买 nike

我有这两个数组:

主要:

[
{ id: "1"},
{ id: "2"},
{ id: "3"}
]

过滤:

[
{ id: "80", link_id: "1"},
{ id: "50", link_id: null},
{ id: "67", link_id: "3"}
]

我需要获取 main 的项目,这些项目的 id 包含在 filtered 中,属性为:link_id,我尝试使用:

main.filter(x => filtered.includes(x.id));

问题是这将返回 null,而且这也不允许我检查 link_id 是否为 null

var main = [{
id: "1"
},
{
id: "2"
},
{
id: "3"
}
],
filtered = [{
id: "80",
link_id: "1"
},
{
id: "50",
link_id: null
},
{
id: "67",
link_id: "3"
}
],
result = main.filter(x =>
filtered.includes(x.id)
);

console.log(result)

最佳答案

试试 some()方法

var main = [
{ id: "1"},
{ id: "2"},
{ id: "3"}
]


var filtered = [
{ id: "80", link_id: "1"},
{ id: "50", link_id: null},
{ id: "67", link_id: "3"}
]


console.log(main.filter(x => filtered.some(item => item.link_id === x.id) ));

关于javascript - 如何获得具有不同属性比较器的两个对象数组之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54311140/

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