通过 ID 合并 JavaScript 对象
问题:
如何高效地合并两个 JavaScript基于公共“id”属性的对象数组,将第二个数组中的附加数据添加到首先?
示例:
var a1 = [{ id: 1, name: "test" }, { id: 2, name: "test2" }] var a2 = [{ id: 1, count: "1" }, { id: 2, count: "2" }]
所需输出:
var a3 = [{ id: 1, name: "test", count: "1" }, { id: 2, name: "test2", count: "2" }]
解决方案:
使用 ES6,您可以通过简洁的解决方案实现此目的:
const a3 = a1.map(t1 => ({ ...t1, ...a2.find(t2 => t2.id === t1.id) }));
此解决方案利用了 map() 和 find() 方法:
此方法根据“id”属性有效地合并 a1 和 a2 中的对象,添加任何附加的从 a2 到 a3 中的结果对象的属性。
以上是如何通过ID高效合并JavaScript对象?的详细内容。更多信息请关注PHP中文网其他相关文章!