আমাদের কাছে একটি সংখ্যা অ্যারে আছে যেটিতে একই এন্ট্রিগুলো আছে। আমাদের একটি ফাংশন লিখতে হবে যা অ্যারেটি গ্রহণ করবে এবং সব একই এন্ট্রিগুলোকে একটি সাব-অ্যারেতে গ্রুপ করে নতুন অ্যারেটি ফেরত দেবে।
উদাহরণস্বরূপ, যদি ইনপুট অ্যারে হয় −
const arr = [234, 65, 65, 2, 2, 234];
// তাহলে আউটপুট হওয়া উচিত −
const output = [[234, 234], [65, 65], [2, 2]];
আমরা একটি হ্যাশম্যাপ ব্যবহার করব যেটি ইতিমধ্যে আসা উপাদানগুলো ট্র্যাক করবে এবং একটি for লুপ দিয়ে অ্যারেতে ইটারেট করব।
তাহলে, এই ফাংশনটির কোড লিখি −
উদাহরণ
কোডটি হবে −
const arr = [234, 65, 65, 2, 2, 234]; const groupArray = arr => { const map = {}; const group = []; for(let i = 0; i < arr.length; i++){ if(typeof map[arr[i]] === 'number'){ group[map[arr[i]]].push(arr[i]); }else{ // push মেথড নতুন দৈর্ঘ্য ফেরত দেয় // এবং নতুন পুশ করা এলিমেন্টের ইনডেক্স হচ্ছে length-1 map[arr[i]] = group.push([arr[i]])-1; } }; return group; } console.log(groupArray(arr));আউটপুট
কনসোলে আউটপুট হবে −
[ [ 234, 234 ], [ 65, 65 ], [ 2, 2 ] ]