【发布时间】:2019-11-13 11:47:14
【问题描述】:
我想要什么
我有 2 个不同的 Java 脚本数组/对象,但具有 匹配的 ID。我想将它们合并到一个新对象中。因此,主要对象数据和辅助对象中的任何匹配元素都会合并为组合结果。
我尝试了什么
我尝试使用Object.assign() 函数但没有成功。
给定输入
示例代码,所以我有 2 个单独的对象(main 和 lines):
let main = [
{
"Id": "1",
"Name": "Testing data"
}
]
let lines = [
{
"OtherId": "1",
"code": "AU-29830"
},
{
"OtherId": "1",
"code": "AU-29854-Single"
},
{
"OtherId": "1",
"code": "TV-BB21084623"
},
{
"OtherId": "2",
"code": "Don't Merge"
},
{
"OtherId": "3",
"code": "Don't Merge"
}
]
预期输出
我想合并这 2 个数组,因此输出应该是一个 单个数组,其中包含 merged main-object。这个合并的主对象应该包含自己的原始内容加上嵌套的过滤 辅助数组(只包含匹配的对象)。过滤是使用 主数组对象 中的 id 完成的,该对象必须与 的每个对象匹配(略有偏差 id) >二级数组.
生成的数组应如下所示:
let result = [
{
"Id": "1",
"Name": "Testing data",
"lines": [
{
"OtherId": "1",
"ProductCode": "AU-29830"
},
{
"OtherId": "1",
"ProductCode": "AU-29854-Single"
},
{
"OtherId": "1",
"ProductCode": "TV-BB21084623"
}
]
}
]
【问题讨论】:
-
您提供了输入和输出,并非常详细地描述了您的要求。为了表示感谢,我重新格式化并重写了一点。只有你试图解决它,一些伪代码丢失。因此,我们没有可以指导您找到解决方案的起点。请添加minimal reproducible example。
标签: javascript join javascript-objects array-merge