ধরা যাক, আমাদের কাছে বস্তুর একটি অ্যারে আছে যেটিতে কিছু লোকের দ্বারা সম্পাদিত কিছু এলোমেলো লেনদেনের তথ্য রয়েছে -
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 } ]