Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tổng hợp bản ghi (Aggregate records) trong JavaScript

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 } ]