মান লজিয়ে, আমাদের ডেটা স্টোরেজ ডিভাইস সম্পর্কিত তথ্য ধারণকারী একটি অবজেক্টের অ্যারে আছে নিচের মতো −
const drives = [
{size:"900GB", count:3},
{size:"900GB", count:100},
{size:"1200GB", count:5},
{size:"900GB", count:1}
];
লক্ষ্য করুন একই size কতবার রিপিট হয়েছে।
আমাদের একটি ফাংশন লিখতে হবে যা এমন একটি অ্যারে নেয় এবং একই size-গুলোকে একটাই অ্যারে ইনডেক্স-এ একত্রিত করবে এবং অবশ্যই তাদের count-গুলো যোগ করবে।
উদাহরণ
const drives = [
{size:"900GB", count:3},
{size:"900GB", count:100},
{size:"1200GB", count:5},
{size:"900GB", count:1}
];
const groupDrives = (arr = []) => {
const map = drives.reduce((map, e) => {
if (e.size in map) map[e.size].count += e.count
else map[e.size] = e
return map;
}, {})
const result = Object.keys(map).map(function (k) {
return this[k]
}, map);
return result;
}
console.log(groupDrives(drives));
আউটপুট
কনসোলে আউটপুট হবে −
[ { size: '900GB', count: 104 }, { size: '1200GB', count: 5 } ]