如何在JavaScript中合并两个对象数组 [英] How can I merge two arrays of objects in JavaScript

查看:53
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆