Cho mảng đối tượng giao dịch, viết hàm tổng hợp số tiền theo từng người duy nhất.
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
[ { name: 'Rakesh', amount: 3600 }, { name: 'Rajesh', amount: 3150 }, { name: 'Ramesh', amount: 3750 }, { name: 'Mukesh', amount: 2335 } ]