我在比较两个对象数组时遇到问题.我在搜索Lotash文档,但我找不到合适的方法. 问题是,我需要通过不同的键比较对象.
private parentArray: {}[] = [
{ Id: 1, Name: 'A' },
{ Id: 2, Name: 'B' },
{ Id: 3, Name: 'C' },
{ Id: 4, Name: 'D' }
];
private childArray: {}[] = [
{ Id: 2, parentId: 2, Name: 'a' },
{ Id: 3, parentId: 2, Name: 'b' },
{ Id: 4, parentId: 4, Name: 'c' },
{ Id: 5, parentId: 4, Name: 'd' }
];
我需要创建一个新的嵌套对象数组,其中‘parentId’将与父对象的‘ID’匹配,如下所示:
private newArray = [
{ Id: 1, Name: 'A', Children: [] },
{
Id: 2,
Name: 'B',
Children: [
{ Id: 2, parentId: 2, Name: 'a' },
{ Id: 3, parentId: 2, Name: 'b' }
]
},
{
Id: 3,
Name: 'C',
Children: []
},
{
Id: 4,
Name: 'D',
Children: [
{ Id: 4, parentId: 4, Name: 'c' },
{ Id: 5, parentId: 4, Name: 'd' }
]
}
];
我使用的是‘.intersectionWith([Arrads],[Compare])’和‘.isMatchWith(Object,SOURCE,[Customizer])’,但它没有提供我需要的东西. 如有任何帮助,我将不胜感激.