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

জাভাস্ক্রিপ্টে অ্যারে ইন্টারসেকশন (রিপিটিং এলিমেন্ট সহ) বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি অ্যারে 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) লুপ করে প্রতিটি নম্বরের ঘটনা কাউন্ট করা।

  • দ্বিতীয় অ্যারে (arr2) লুপ করে এলিমেন্ট arr1-এ আছে কিনা এবং কাউন্ট > ০ কিনা চেক করা।

  • যদি হয়, তবে কাউন্ট ডিক্রিমেন্ট করে রেজাল্টে পুশ করা।

আউটপুট

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

[7, 7, 4]

  1. জাভাস্ক্রিপ্টে অ্যারে এলিমেন্টে সাধারণ অক্ষর (ডুপ্লিকেট সহ) খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে অ্যারে এলিমেন্ট পুনর্বিন্যাস করে ডাবল রিলেশন তৈরি করা

  3. জাভাস্ক্রিপ্টে reduce() ব্যবহার করে অ্যারে উপাদানগুলোর গুণফল বের করা

  4. জাভাস্ক্রিপ্টে অ্যারেতে সব শীর্ষবিন্দু ও তাদের অবস্থান খুঁজে বের করা