জাভাস্ক্রিপ্টে অবজেক্টের অ্যারেতে একটি কী দিয়ে group by করার সবচেয়ে দক্ষ পদ্ধতি হলো reduce ফাংশন ব্যবহার করা।
reduce() মেথড একটি রিডিউসার ফাংশন (যেটি আপনি প্রদান করেন) অ্যারের প্রতিটি এলিমেন্টের ওপর এক্সিকিউট করে, যার ফলে একটি সিঙ্গল আউটপুট ভ্যালু তৈরি হয়।
উদাহরণ
const people = [ { name: 'Lee', age: 21 }, { name: 'Ajay', age: 20 }, { name: 'Jane', age: 20 } ]; function groupBy(objectArray, property) { return objectArray.reduce((acc, obj) => { const key = obj[property]; if (!acc[key]) { acc[key] = []; } // দেওয়া কী-এর ভ্যালুর জন্য লিস্টে অবজেক্ট যোগ করুন acc[key].push(obj); return acc; }, {}); } const groupedPeople = groupBy(people, 'age'); console.log(groupedPeople);আউটপুট
এটি নিচের আউটপুট দেবে -
{ 20: [ { name: 'Ajay', age: 20 }, { name: 'Jane', age: 20 } ], 21: [ { name: 'Lee', age: 21 } ] }