如何在JavaScript中合并两个对象数组 [英] How can I merge two arrays of objects in JavaScript
本文介绍了如何在JavaScript中合并两个对象数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的问题.我有两个数组A和B,如果B具有相同的ID,我想保留A对象.例如:
I have a simple question. I have two arrays A and B, I want to retain A objects if B has the same ID. For example:
const A = [{id: "price", value: "1"}]
const B = [{id: "price", value: "0"}, {id: "number", value: "0"}]
预期结果:
[{id: "price", value: "1"}, {id: "number", value: "0"}}]
我该怎么做?
我试图将A和A映射到A内,但没有用.
I tried to map A and foreach B inside A but it didn't work.
推荐答案
const result = A.concat(B.filter(bo => A.every(ao => ao.id != bo.id)));
将 A
中的所有对象与 A
中不存在的 B
中的对象连接起来(通过仅过滤 B
,其中 A
中没有一个具有相同ID的对象.
Concatenate all the objects from A
with objects from B
that aren't in A
(which is done by filtering only objects from B
where there isn't an object in A
with the same id).
示例:
const A = [{id: "price", value: "1"}];
const B = [{id: "price", value: "0"}, {id: "number", value: "0"}];
const result = A.concat(B.filter(bo => A.every(ao => ao.id != bo.id)));
console.log(result);
这篇关于如何在JavaScript中合并两个对象数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文