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

জাভাস্ক্রিপ্টে অ্যারে উপাদানের ঘটনা n বার সীমাবদ্ধ করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি পূর্ণসংখ্যার অ্যারে arr (যে ডুপ্লিকেট থাকতে পারে) প্রথম আর্গুমেন্ট এবং একটি সংখ্যা num দ্বিতীয় ও চূড়ান্ত আর্গুমেন্ট হিসেবে নেবে।

ফাংশনটির কাজ হল অ্যারেটি ইটারেট করে চেক করা যে কোনো সংখ্যা n-বার से বেশি হয়েছে কিনা।

যদি এমন কোনো উপাদান থাকে, তবে তার অতিরিক্ত ঘটনাগুলো মুছে দিয়ে তার ঘটনাn-এ সীমাবদ্ধ করতে হবে।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const arr = [4, 1, 3, 1, 4, 1, 3, 4, 2]; 
const num = 2;

আউটপুট

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

আউটপুট ব্যাখ্যা

৪ এবং ১ তিনবার করেই এসেছে, তাই তাদের তৃতীয় ঘটনা মুছে দেওয়া হল।

উদাহরণ

নিচে কোডটি দেওয়া হল –

const arr = [4, 1, 3, 1, 4, 1, 3, 4, 2]; 
const num = 2; 
const deleteExtra = (arr = [], num = 1) => { 
  if (num === 0) { 
    return []; 
  } 
  const res = []; 
  const map = {}; 
  for (let i = 0; i < arr.length; i++) { 
    const el = arr[i]; 
    map[el] = (map[el] || 0) + 1; 
    if (map[el] <= num) { 
      res.push(el); 
    } 
  } 
  return res; 
}; 
console.log(deleteExtra(arr, num));

আউটপুট

[4, 1, 3, 1, 4, 3, 2]

  1. জাভাস্ক্রিপ্ট DOM কী?

  2. জাভাস্ক্রিপ্টে কিউ (Queue) থেকে Peek অপারেশন

  3. জাভাস্ক্রিপ্টে কিউ (Queue-এ) এলিমেন্ট যোগ করা (Enqueue)

  4. জাভাস্ক্রিপ্টে n بار থেকে বেশি tekrar পাওয়া উপাদান মুছে ফেলা