我有两个对象object_a
和object_b
。从object_a
中,我只需要ID
出现在object_b
const object_a = {
100: "Stack Overflow",
101: "MDN Web Docks",
102: "Javascript"
}
const object_b = {
0: {
id: 100,
name: "Stack",
lastname: "Overflow"
},
1: {
id: 101,
name: "Web",
lastname: "Docks"
}
}
从这些中,我需要获取object a
出现在id
上的object b
中的所有项目
const desired_object = {
100: "Stack Overflow",
101: "MDN Web Docks"
}
答案 0 :(得分:2)
您可以展开Object.entries()
中的object_a
,(使用Array.prototype.filter()
过滤掉Array.prototype.some()
{{1 }},Object.values()
:
id
另一种方法(我想可能会更快一些)是使用object_b
遍历const a = {100:"Stack Overflow",101:"MDN Web Docks",102:"Javascript"},
b = {0:{id:100,name:'Stack',lastname:'Overflow',},1:{id:101,name:'Web',lastname:'Docks',}},
result = Object.fromEntries(
Object
.entries(a)
.filter(([key]) =>
Object
.values(b)
.some(({id}) => id == key)
)
)
console.log(result)
的{{1}}并执行相同的检查:
Array.prototype.reduce()