可以使用JavaScript中的reduce
方法来合并具有相同键的两个对象数组,并对另一个属性的值进行求和。以下是一个示例代码:
const array1 = [
{ key: 'A', value: 1 },
{ key: 'B', value: 2 },
{ key: 'C', value: 3 }
];
const array2 = [
{ key: 'B', value: 3 },
{ key: 'C', value: 4 },
{ key: 'D', value: 5 }
];
const mergedArray = array1.concat(array2).reduce((accumulator, current) => {
const existingItem = accumulator.find(item => item.key === current.key);
if (existingItem) {
existingItem.value += current.value;
} else {
accumulator.push(current);
}
return accumulator;
}, []);
console.log(mergedArray);
reduce
方法可以在一行代码中完成合并和求和操作。reduce
方法中添加自定义逻辑。reduce
方法会返回初始值(这里是空数组),不会引发错误。reduce
方法可能会影响性能。可以考虑使用更高效的算法或分批处理数据。通过上述方法和注意事项,可以有效地合并具有相同键的对象数组并对特定属性进行求和。
领取专属 10元无门槛券
手把手带您无忧上云