Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON数组联合_Javascript_Arrays_Node.js_Json - Fatal编程技术网

Javascript JSON数组联合

Javascript JSON数组联合,javascript,arrays,node.js,json,Javascript,Arrays,Node.js,Json,我有两个JSON数组,如下所示 阵列1: 阵列2: [ { id : 1, c: 1}, { id : 3, c: 3}, { id : 4, c: 4} ] 使用nodejs代码,我需要将两者结合起来,如下所示 工会: [ { id : 1, b: 1, c:1}, { id : 2, b: 2}, { id : 3, b: 3, c:3}, { id : 4, c: 4} ] 有人能提供最好的帮助吗?您只需将两个数组连接起来,然后使

我有两个JSON数组,如下所示 阵列1:

阵列2:

[
    { id : 1, c: 1},
    { id : 3, c: 3},
    { id : 4, c: 4}
]
使用nodejs代码,我需要将两者结合起来,如下所示

工会:

[
    { id : 1, b: 1, c:1},
    { id : 2, b: 2},
    { id : 3, b: 3, c:3},
    { id : 4, c: 4}
]

有人能提供最好的帮助吗?

您只需将两个数组连接起来,然后使用来对元素进行分组:

let a1=[{id:1,b:1},{id:2,b:2},{id:3,b:3}]
设a2=[{id:1,c:1},{id:3,c:3},{id:4,c:4}]
让结果=[…a1,…a2]。减少((acc,cur)=>{
acc[cur.id]={…acc[cur.id]|{},…cur}
返回acc
}, {})

console.log(Object.values(result))
您只需将两个数组连接起来,然后使用将元素分组:

let a1=[{id:1,b:1},{id:2,b:2},{id:3,b:3}]
设a2=[{id:1,c:1},{id:3,c:3},{id:4,c:4}]
让结果=[…a1,…a2]。减少((acc,cur)=>{
acc[cur.id]={…acc[cur.id]|{},…cur}
返回acc
}, {})

console.log(Object.values(result))
循环第一个数组,检查第一个数组中的“id”值是否存在于第二个数组中。如果是这样,那么从第二个数组中获取额外的键值对,并将其添加到第一个数组中的当前对象中。“JSON”示例是否真的有像
id
b
c
这样的不带引号的属性名?第一个示例中是否有类似的尾随逗号?不确定这些示例是否真正符合使用该语法调用JSON的条件。循环第一个数组,检查第一个数组中的“id”值是否存在于第二个数组中。如果是这样,那么从第二个数组中获取额外的键值对,并将其添加到第一个数组中的当前对象中。“JSON”示例是否真的有像
id
b
c
这样的不带引号的属性名?第一个示例中是否有类似的尾随逗号?不确定这些示例是否真正符合使用该语法调用JSON的条件。
[
    { id : 1, b: 1, c:1},
    { id : 2, b: 2},
    { id : 3, b: 3, c:3},
    { id : 4, c: 4}
]