var cashOrderList = [
{
currencyCode: "code",
amount: 100,
},
{
currencyCode: "code",
amount: 100,
},
{
currencyCode: "aode",
amount: 100,
},
{
currencyCode: "bode",
amount: 100,
},
{
currencyCode: "aode",
amount: 100,
},
{
currencyCode: "code",
amount: 100,
},
{
currencyCode: "bode",
amount: 100,
},
];
var detailsData = cashOrderList.reduce(function(result, current) {
var existing = result.find(function(item) {
return item.currencyCode === current.currencyCode;
});
if (existing) {
existing.amount += current.amount;
} else {
result.push({ currencyCode: current.currencyCode, amount: current.amount });
}
return result;
}, []);
console.log(detailsData);
在上面的代码中,我们使用reduce()
方法遍历cashOrderList
数组,并使用find()
方法查找已存在的具有相同currencyCode
的对象。如果找到了已存在的对象,则将当前对象的amount
值累加到已存在的对象的amount
上;如果没有找到已存在的对象,则将当前对象作为一个新的对象添加到结果数组result
中。
最后,使用console.log()
打印合并后的数组detailsData
。
希望这个示例能够满足你的需求!如果你还有其他问题,请随时提问。