【发布时间】:2016-10-07 06:27:04
【问题描述】:
我坚持将 2 个对象合并为一个。假设我有 2 个对象数组: 一个是孩子:
let childsWithMoreInfo = [{
id: 1,
name: 'somename',
parent: {
id: 2
},
}, {
id: 2,
name: 'some child name',
parent: {
id: 4
}
}];
第二个是父母:
let parents = [{
id: 1,
parentName: 'The first',
child: {}
}, {
id: 2,
parentName: 'The second',
child: {}
}, {
id: 3,
parentName: 'The third',
child: {}
}, {
id: 4,
parentName: 'The fourth',
child: {}
}];
我会像这样合并这些对象:
let combined = [
{
id: 1,
parentName: The first,
child: {}
},
{
id: 2,
parentName: The second,
child: {
id: 1,
name: somename,
}
},
{
id: 3,
parentName: The third,
child: {}
},
{
id: 4,
parentName: The fourth,
child: {
id: 2
name: some child name,
}
},
]
];
所以基本上它应该是这样的:
let combinedList = parents.child = childsWithMoreInfo where parents.id = childsWithMoreInfo.parent.id 。我应该看看哪种方法?您有什么想法可以轻松实现吗?
【问题讨论】:
-
它们被合并为子元素。
-
我建议您查看 lodash lodash.com/docs/4.16.4。它们具有各种功能,可以在不同条件下合并数组。您当然可以自己构建一个合并,循环中的循环。
-
@crotoan 重读问题。
-
我已经看过很多遍了,但不知道我可以使用哪种方法:(
标签: javascript ecmascript-6 lodash