Typescript 合并具有不同键/属性的两个对象数组
这是输出阵列:Typescript 合并具有不同键/属性的两个对象数组,typescript,Typescript,这是输出阵列: array1 = [{ id: "David Moorman", current - margin: "500", current - customers: 123 }, { id: "Elaina Wasmus", current - margin: "600", current - customers: 45 } ]; array2 = [{ nam
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
}];
您可以使用lodash进行此操作。
在这里,我将array2中的name字段作为id字段
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
}];
仅当array2的id字段的值为name字段时,此操作才有效。两个数组必须有一个唯一的字段才能正确合并。您可以使用lodash进行合并。
在这里,我将array2中的name字段作为id字段
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
}];
仅当array2的id字段的值为name字段时,此操作才有效。两个数组必须有一个唯一的字段才能正确合并。据我所知,这将是我使用lodash的实现:
finalArr = _(_.flatten([array1, array2]))
.groupBy('id')
.map(_.spread(_.assign))
.value();
在此处查看lodash文档:据我所知,这将是我使用lodash的实现:
finalArr = _(_.flatten([array1, array2]))
.groupBy('id')
.map(_.spread(_.assign))
.value();
在此处查看lodash文档:用英语解释您作为输入的内容,用英语解释您的期望。提供问题,并格式化您的代码。这篇文章不可读,不仅因为它没有格式化,而且因为没有什么可读的。用英语解释你作为输入的内容,用英语解释你期望的内容。提供一个问题,并格式化你的代码。这篇文章不可读,不仅因为它没有格式化,还因为没有什么可读的。