কম্পিউটার টিউটোরিয়াল

JavaScript-এ অ্যারে গ্রুপ করা সমান ভ্যালু অনুযায়ী


মান লিজিয়ে, আমাদের কাছে একটি স্ট্রিং/নম্বর লিটারেলের অ্যারে আছে যেটিতে কিছু ডুপ্লিকেট ভ্যালু রয়েছে নিচের মতো:

const array = ['day', 'night', 'afternoon', 'night', 'noon', 'night', 'noon', 'day', 'afternoon', 'day', 'night'];

আমাদের একটি groupSimilar() ফাংশন লিখতে হবে যা এই অ্যারেটি গ্রহণ করে এবং একটি নতুন অ্যারে রিটার্ন করবে যেখানে সব রিপিটিং এন্ট্রিগুলো একটি সাব-অ্যারেতে প্রথম এলিমেন্ট হিসেবে এবং মূল অ্যারেতে তাদের মোট কাউন্ট দ্বিতীয় এলিমেন্ট হিসেবে থাকবে।

তাই, এই উদাহরণের জন্য আউটপুট হবে:

[    [ 'day', 3 ],    [ 'night', 4 ],    [ 'afternoon', 2 ],    [ 'noon', 2 ] ]

এই ফাংশনের কোড লিখি। আমরা Array.prototype.map() ফাংশন ব্যবহার করব নতুন, প্রয়োজনীয় অ্যারে তৈরি করতে, এবং একটি Map ব্যবহার করব অ্যারেতে রিপিটিং এন্ট্রিগুলো ট্র্যাক রাখতে:

উদাহরণ

const array = ['day', 'night', 'afternoon', 'night', 'noon', 'night', 'noon', 'day', 'afternoon', 'day', 'night']; const groupSimilar = arr => {    return arr.reduce((acc, val) => {       const { data, map } = acc;       const ind = map.get(val);       if(map.has(val)){          data[ind][1]++;       } else {          map.set(val, data.push([val, 1])-1);       }       return { data, map };    }, {       data: [],       map: new Map()    }).data; }; console.log(groupSimilar(array));

আউটপুট

কনসোলে আউটপুট হবে:

[ [ 'day', 3 ], [ 'night', 4 ], [ 'afternoon', 2 ], [ 'noon', 2 ] ]

  1. জাভাস্ক্রিপ্ট Array shift() মেথড

  2. জাভাস্ক্রিপ্ট Array.prototype.values() মেথড

  3. জাভাস্ক্রিপ্ট array.values() মেথড

  4. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা