মান লিজিয়ে, আমাদের কাছে একটি অবজেক্টের অ্যারে আছে যেটিতে কিছু র্যান্ডম ট্রানজেকশনের তথ্য রয়েছে কিছু মানুষের तरफ থেকে:
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 } ]