ধরুন, আমাদের কাছে এমন একটি অ্যারে অবজেক্ট রয়েছে যাতে কিছু ডেটা স্টোরেজ ডিভাইস সম্পর্কে তথ্য রয়েছে -
const drives = [ {size:"900GB", count:3}, {size:"900GB", count:100}, {size:"1200GB", count:5}, {size:"900GB", count:1} ];
লক্ষ্য করুন কিভাবে একই আকার একাধিকবার আসে৷
আমাদের এমন একটি ফাংশন লিখতে হবে যা এইরকম একটি অ্যারে নেয় এবং সমস্ত পুনরাবৃত্তির মাপগুলিকে শুধুমাত্র একটি একক অ্যারে সূচকে একত্রিত করে এবং স্পষ্টতই তাদের সংখ্যা যোগ করে৷
উদাহরণ
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 } ]