কম্পিউটার

অ্যারে ছেদ খুঁজে বের করা এবং জাভাস্ক্রিপ্টে পুনরাবৃত্ত উপাদান সহ


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা যথাক্রমে প্রথম এবং দ্বিতীয় আর্গুমেন্ট হিসাবে দুটি অ্যারে, arr1 এবং arr2 নেয়৷

ফাংশনটি অ্যারেগুলির ছেদ (উভয়গুলির মধ্যে সাধারণ উপাদান) খুঁজে পাওয়া উচিত এবং যদি উভয় অ্যারেতে দুবার উপস্থিত উপাদান থাকে তবে আমাদের ফলাফল অ্যারেতেও তাদের দুবার অন্তর্ভুক্ত করা উচিত৷

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

const arr1 = [2, 7, 4, 6, 7, 4];
const arr2 = [7, 1, 9, 7, 4, 5];

তারপর আউটপুট −

হওয়া উচিত
const output= [7, 7, 4];

উদাহরণ

এর জন্য কোড হবে −

const arr1 = [2, 7, 4, 6, 7, 4];
const arr2 = [7, 1, 9, 7, 4, 5];
const intersect = (arr1 = [], arr2 = []) => {
   const map = {};
   arr1.forEach(a => {
      map[a] = map[a] ? map[a] + 1 : 1;
   })
   const result = [];
   for(let key of arr2) {
      if(key in map && map[key] > 0) {
         result.push(key);
         map[key]--;
      }
   }
   return result;
};
console.log(intersect(arr1, arr2));

কোড ব্যাখ্যা:

আমরা যে পদক্ষেপগুলি নিয়েছি তা হল −

  • প্রতিটি নম্বরের উপস্থিতি খুঁজে পেতে প্রথম অ্যারে(arr1) দিয়ে লুপ করুন। এটিতে।

  • ম্যাপ করা arr1-এ arr2-এর উপাদান আছে কিনা তা খুঁজে বের করতে দ্বিতীয় অ্যারে(arr12) দিয়ে লুপ করুন।

  • যদি এটি বিদ্যমান থাকে, তাহলে ম্যাপ করা num1-এ মান কমান এবং উপাদানটিকে ফলাফল অ্যারেতে পুশ করুন।

আউটপুট

এবং কনসোলে আউটপুট হবে −

[7, 7, 4]

  1. জাভাস্ক্রিপ্টে অ্যারে উপাদানের সদৃশ সহ কমন

  2. জাভাস্ক্রিপ্টে একটি অ্যারের উপাদান পুনর্বিন্যাস করা

  3. JavaScript-এ reduce() দিয়ে অ্যারে উপাদানের পণ্য খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে একটি অ্যারেতে সমস্ত শিখর এবং তাদের অবস্থান খোঁজা