ধরুন, আমাদের কাছে এই ধরনের বস্তুর একটি অ্যারে আছে −
const arr =[ { অঞ্চল:"আফ্রিকা", ফল:"কমলা", ব্যবহারকারী:"গ্যারি" }, { অঞ্চল:"আফ্রিকা", ফল:"আপেল", ব্যবহারকারী:"স্টিভ" }, { অঞ্চল:"ইউরোপ", ফল:"কমলা", ব্যবহারকারী:"জন" }, { অঞ্চল:"ইউরোপ", ফল:"আপেল", ব্যবহারকারী:"বব" }, { অঞ্চল:"এশিয়া", ফল:"কমলা", ব্যবহারকারী:"ইয়ান" }, { অঞ্চল:"এশিয়া", ফল:"আপেল", ব্যবহারকারী:"অ্যাঞ্জেলো" }, { অঞ্চল:"আফ্রিকা", ফল:"কমলা", ব্যবহারকারী:"গ্যারি" }];পূর্বে>আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারেতে নেয়। ফাংশনটি অবজেক্টের একটি নতুন অ্যারে প্রস্তুত করবে যা অবজেক্টের "এরিয়া" বৈশিষ্ট্যের উপর ভিত্তি করে ডেটা গ্রুপ করে।
ফাংশনটিকে একটি নির্দিষ্ট এলাকার জন্য অনন্য ব্যবহারকারীদের গণনাও রাখা উচিত।
অতএব, উপরের অ্যারের জন্য, আউটপুটটি −
এর মত হওয়া উচিতconst output =[ { "অঞ্চল":"আফ্রিকা", "গণনা":2 }, { "অঞ্চল":"ইউরোপ", "গণনা":2 }, { "অঞ্চল":"এশিয়া", "গণনা ":2 }];উদাহরণ
এর জন্য কোড হবে −
const arr =[ { অঞ্চল:"আফ্রিকা", ফল:"কমলা", ব্যবহারকারী:"গ্যারি" }, { অঞ্চল:"আফ্রিকা", ফল:"আপেল", ব্যবহারকারী:"স্টিভ" }, { অঞ্চল:"ইউরোপ", ফল:"কমলা", ব্যবহারকারী:"জন" }, { অঞ্চল:"ইউরোপ", ফল:"আপেল", ব্যবহারকারী:"বব" }, { অঞ্চল:"এশিয়া", ফল:"কমলা", ব্যবহারকারী:"ইয়ান" }, { অঞ্চল:"এশিয়া", ফল:"আপেল", ব্যবহারকারী:"অ্যাঞ্জেলো" }, { অঞ্চল:"আফ্রিকা", ফল:"কমলা", ব্যবহারকারী:"গ্যারি" }];const groupByArea =(arr =[]) => { const res =[]; arr.forEach(el => { let key =[el.region, el.user].join('|'); যদি (!this[el.region]) { this[el.region] ={ অঞ্চল:el .region, count:0 }; res.push(this[el.region]); }; if (!this[key]) { this[key] =true; this[el.region].count++; }; } , Object.create(null)); রিটার্ন res;}console.log(groupByArea(arr));আউটপুট
এবং কনসোলে আউটপুট হবে −
[ { অঞ্চল:'আফ্রিকা', গণনা:2 }, { অঞ্চল:'ইউরোপ', গণনা:2 }, { অঞ্চল:'এশিয়া', গণনা:2 }]