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

জাভাস্ক্রিপ্টে অ্যারে তুলনা ও ফিল করা

দুইটি অ্যারে তুলনা করে একটি তৃতীয় অ্যারে তৈরি করতে হবে যাতে দ্বিতীয় অ্যারের সব উপাদান থাকে, কিন্তু প্রথম অ্যারেতে থাকা যেসব উপাদান দ্বিতীয় অ্যারেতে নেই, সেগুলোর জায়গায় null রাখা হবে।

উদাহরণ

দুই অ্যারে:

const arr1 = ['f', 'g', 'h'];
const arr2 = ['f', 'h'];

আউটপুট হওয়া উচিত:

const output = ['f', null, 'h'];

উদাহরণ কোড

const arr1 = ['f', 'g', 'h'];
const arr2 = ['f', 'h'];

const compareAndFill = (arr1, arr2) => {
  let offset = 0;
  const res = arr1.map((el, i) => {
    if (el === arr2[offset + i]) {
      return el;
    }
    offset--;
    return null;
  });
  return res;
};

console.log(compareAndFill(arr1, arr2));

আউটপুট

[ 'f', null, 'h' ]

ব্যাখ্যা

  • arr1-কে map() দিয়ে ইটারেট করা হয়েছে।
  • offset ভেরিয়েবল ট্র্যাক করে arr2-এ কতগুলো উপাদান "মিসিং" আছে।
  • যদি arr1[i] এবং arr2[offset + i] মিলে যায়, তবে সেটি রিটার্ন করা হয়।
  • নहीं মেললে offset-- করে null রিটার্ন করা হয়।
  • এই লজিক অনুমান করে যে arr2 হলো arr1-এর সাবসিকোয়েন্স (subsequence) যেখানে কয়েকটি উপাদান অনুপস্থিত।
  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্টে ইন্টারভাল অ্যারে-এর ইন্টারসেকশন খুঁজে বের করা

  3. জাভাস্ক্রিপ্টে সংখ্যা ও অপারেন্ডকে শব্দে রূপান্তর করা

  4. জাভাস্ক্রিপ্টে অ্যারে মার্জ ও ডুপ্লিকেট সরিয়ে(rectify) করা