汇总JavaScript中的记录
假设我们有一个对象数组,其中包含一些人进行的一些随机交易的信息-
const transactions = [{
name: 'Rakesh',
amount: 1500
}, {
name: 'Rajesh',
amount: 1200
}, {
name: 'Ramesh',
amount: 1750
}, {
name: 'Rakesh',
amount: 2100
}, {
name: 'Mukesh',
amount: 1100
}, {
name: 'Rajesh',
amount: 1950
}, {
name: 'Mukesh',
amount: 1235
}, {
name: 'Ramesh',
amount: 2000
}];我们需要编写一个函数,该函数接受此数组并聚合并返回不同对象中唯一人员的交易额。
因此,让我们为该函数编写代码-
示例
const transactions = [{
name: 'Rakesh',
amount: 1500
}, {
name: 'Rajesh',
amount: 1200
}, {
name: 'Ramesh',
amount: 1750
}, {
name: 'Rakesh',
amount: 2100
}, {
name: 'Mukesh',
amount: 1100
}, {
name: 'Rajesh',
amount: 1950
}, {
name: 'Mukesh',
amount: 1235
}, {
name: 'Ramesh',
amount: 2000
}];
const aggregateArray = arr => {
return arr.reduce((acc, val) => {
const index = acc.findIndex(obj => obj.name === val.name);
if(index !== -1){
acc[index].amount += val.amount;
}else{
acc.push({
name: val.name,
amount: val.amount
});
};
return acc;
}, []);
};
console.log(aggregateArray(transactions));输出结果
控制台中的输出将为-
[
{ name: 'Rakesh', amount: 3600 },
{ name: 'Rajesh', amount: 3150 },
{ name: 'Ramesh', amount: 3750 },
{ name: 'Mukesh', amount: 2335 }
]热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短