কম্পিউটার

জাভাস্ক্রিপ্টে উপাদানগুলিকে n বারে সীমিত করা


সমস্যা

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

আমাদের ফাংশনের কাজ হল অ্যারের মাধ্যমে পুনরাবৃত্তি করা এবং অ্যারেতে n বারের বেশি দেখা যায় এমন কিছু সংখ্যা আছে কিনা তা পরীক্ষা করা।

যদি এই ধরনের কোনো উপাদান বিদ্যমান থাকে, তাহলে আমাদের এটির অতিরিক্ত ঘটনাগুলি মুছে ফেলা উচিত যাতে এটির সংঘটনের সংখ্যা সীমিত হয়।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

ইনপুট

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

আউটপুট

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

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

4 এবং 1 উভয়ই তিনবার উপস্থিত হয়েছে, তাই তাদের তৃতীয় উপস্থিতি মুছে ফেলা হয়েছে

উদাহরণ

নিম্নলিখিত কোড -

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. জাভাস্ক্রিপ্টে একটি সারি থেকে উপাদান উঁকি দেওয়া

  3. জাভাস্ক্রিপ্ট ব্যবহার করে একটি সারিতে উপাদান যোগ করুন

  4. জাভাস্ক্রিপ্ট ব্যবহার করে n বারের বেশি হলে একটি উপাদানের ঘটনা মুছে ফেলা