,可以使用以下步骤:
以下是一个示例代码,用于合并具有不同键的两个数组中的对象:
function mergeArrays(arr1, arr2) {
var mergedArray = [];
// 遍历第一个数组
arr1.forEach(function(obj1) {
var mergedObj = obj1;
var matchingObj = arr2.find(function(obj2) {
return obj2.key === obj1.key; // 检查是否存在相同键的对象
});
if (matchingObj) {
mergedObj = Object.assign({}, obj1, matchingObj); // 合并两个对象
}
mergedArray.push(mergedObj);
});
// 遍历第二个数组
arr2.forEach(function(obj2) {
var matchingObj = arr1.find(function(obj1) {
return obj1.key === obj2.key; // 检查是否存在相同键的对象
});
if (!matchingObj) {
mergedArray.push(obj2);
}
});
return mergedArray;
}
// 示例用法
var array1 = [
{ key: 'a', value1: 'foo' },
{ key: 'b', value1: 'bar' },
{ key: 'c', value1: 'baz' }
];
var array2 = [
{ key: 'b', value2: 'qux' },
{ key: 'd', value2: 'quux' }
];
var mergedArray = mergeArrays(array1, array2);
console.log(mergedArray);
这段代码将输出以下结果:
[
{ key: 'a', value1: 'foo' },
{ key: 'b', value1: 'bar', value2: 'qux' },
{ key: 'c', value1: 'baz' },
{ key: 'd', value2: 'quux' }
]
在这个例子中,我们合并了两个具有不同键的数组中的对象。如果存在相同键的对象,我们将它们合并为一个新对象,并将其添加到合并后的数组中。如果不存在相同键的对象,我们直接将它们添加到合并后的数组中。
Elastic Meetup Online 第五期
云+社区技术沙龙[第11期]
DBTalk
T-Day
云+社区技术沙龙[第20期]
云+社区技术沙龙[第16期]
Techo Day
云+社区技术沙龙[第28期]
DB TALK 技术分享会
云+社区技术沙龙[第12期]
领取专属 10元无门槛券
手把手带您无忧上云