typescript - 合并两个具有不同键/属性的对象数组
问题描述
array1 = [{
id: "David Moorman",
current - margin: "500",
current - customers: 123
},
{
id: "Elaina Wasmus",
current - margin: "600",
current - customers: 45
}
];
array2 = [{
name: "Jose Maldonado",
Purposed - margin: "700",
purposed - customers: 100
}, {
name: "David Moorman",
Purposed - margin: "1000",
purposed - customers: 34
}];
这是输出数组:
merge array = [{
id: "David Moorman",
current - margin: "500",
Purposed - margin: "1000",
current - customers: 123,
purposed - customers: 100
}, {
id: "Elaina Wasmus",
current - margin: "600",
Purposed - margin: NULL,
current - customers: 45,
purposed - customers: null
}, {
id: "Jose Maldonado",
current - margin: "0",
Purposed - margin: "700",
current - customers: null,
purposed - customers: 100
}];
解决方案
您可以为此使用 lodash。
在这里,我将 array2 中的 name 字段作为 id 字段。
finalArr = _(_.flatten([array1, array2]))
.groupBy('id')
.map(_.spread(_.assign))
.value();
这仅在 array2 具有带有 name 字段值的 id 字段时才有效。
两个数组都必须有一个唯一的字段才能正确合并。
推荐阅读
- wordpress - 感谢页面上的 woocommerce 挂钩不起作用
- python-3.x - 如何在我的循环中使用除了数字
- c# - DryIoc ScopedTo 现在包括父范围?
- javascript - tinymce 角度图像选择器语法
- android - 改造android - 使用多部分上传文档抛出响应代码422
- python - 从 c# mvc Web 应用程序调用调用时,flask 会话不会持续存在
- r - 如何确定时间是否在R中的其他两个时间之间?
- sql - 将 CosmosDB 中的记录计数添加到已经存在的 SQL 查询中,该查询在一个查询中返回一组现有的结果
- javascript - 按字母顺序对api的json响应进行排序
- python-3.x - 带有用于定义变量的输入的函数不会执行