加入/合并两个对象数组

我正在开发一个 nodejs 应用程序,需要将两个文档数组连接在一起。我有一个可用于加入的 id 字段,但不确定如何优雅地实现所需的输出。请参阅下面的示例数组。

array 1
[{"id": 1,
  "name": "paul"
 },
{"id": 2,
  "name": "sarah"
 }
]

array 2
[{"id": 1,
  "email": "[email protected]"
 },
{"id": 2,
  "email": "[email protected]"
 }
]

output
[{"id": 1,
  "name": "paul",
  "email": "[email protected]"
 },
{"id": 2,
  "name": "sarah",
  "email": "[email protected]"
 }
]
米海亚历山德鲁-约努特

您可以将Object.assign方法与map函数结合使用,以达到您想要的输出。

对于map方法,您必须传递一个回调提供的函数作为参数,该函数应用于给定的array.

arr1 = [{"id": 1, "name": "paul" }, {"id": 2, "name": "sarah" } ], arr2 = [{"id": 1, "email": "[email protected]" }, {"id": 2, "email": "[email protected]" } ]

let final = arr1.map(function(item){
  return Object.assign(item, arr2.find(({id}) => id == item.id));
});

console.log(final);

或者干脆使用一个arrow函数。

arr1 = [{"id": 1, "name": "paul" }, {"id": 2, "name": "sarah" } ], arr2 = [{"id": 1, "email": "[email protected]" }, {"id": 2, "email": "[email protected]" } ]

let final = arr1.map((item) => Object.assign(item, arr2.find(({id}) => id == item.id)));
console.log(final);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章