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

জাভাস্ক্রিপ্ট অ্যারে এলিমেন্টের ঘনত্ব গণনা করে ২D অ্যারে তৈরি


সমস্যা বিবরণ

একটি লিটারেল ভ্যালুর অ্যারে দেওয়া আছে। প্রতিটি এলিমেন্টের ফ্রিকোয়েন্সি গণনা করে একটি নতুন ২D অ্যারে তৈরি করতে হবে।

উদাহরণ:

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];

প্রত্যাশিত আউটপুট:

const output = [
  [5, 3],
  [2, 5],
  [9, 1],
  [4, 1]
];

সমাধান

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];

const frequencyArray = (arr = []) => {
  const res = [];
  arr.forEach(el => {
    if (!this[el]) {
      this[el] = [el, 0];
      res.push(this[el]);
    }
    this[el][1]++;
  }, {});
  return res;
};

console.log(frequencyArray(arr));

আউটপুট

[ [ 5, 3 ], [ 2, 5 ], [ 9, 1 ], [ 4, 1 ] ]

কোড ব্যাখ্যা

  • forEach লুপের তৃতীয় আর্গুমেন্ট হিসেবে খালি অবজেক্ট {} পাস করা হয়েছে, যা this হিসেবে কাজ করে।
  • প্রতিটি এলিমেন্টের জন্য যদি this[el] না থাকে, তবে নতুন এন্ট্রি তৈরি করা হয়।
  • কাউন্টার বাড়িয়ে রেজাল্ট অ্যারেতে পুশ করা হয়।
  1. জাভাস্ক্রিপ্টে অ্যারেতে শুরুতে নতুন এলিমেন্ট যোগ করার পদ্ধতি

  2. জাভাস্ক্রিপ্টে অ্যারের 0th ইনডেক্স এলিমেন্ট সরিয়ে বাকি এলিমেন্টগুলো কীভাবে পাবেন

  3. জাভাস্ক্রিপ্টে _.initial() ফাংশনের গুরুত্ব

  4. জাভাস্ক্রিপ্টে একই অ্যারেতে অ্যারের এলিমেন্টগুলো ডুপ্লিকেট করা