কম্পিউটার

জাভাস্ক্রিপ্টে আপেক্ষিক সাজানো


ধরুন, আমাদের দুটি অ্যারে আছে, ধরা যাক arr1 এবং arr2। arr2-এর উপাদানগুলি স্বতন্ত্র, এবং arr2-এর সমস্ত উপাদানগুলিও arr1-এ রয়েছে।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই ধরনের দুটি অ্যারে নেয় এবং arr1-এর উপাদানগুলিকে সাজায় যাতে arr1-এ আইটেমগুলির আপেক্ষিক ক্রম arr2-এর মতোই হয়। যে উপাদানগুলি arr2-তে প্রদর্শিত হয় না তা শেষে স্থাপন করা উচিত। আরোহী ক্রমে arr1।

যেমন- যদি দুটি ইনপুট অ্যারে −

হয়
const arr1 = [2,3,1,3,2,4,6,7,9,2,19];
const arr2 = [2,1,4,3,9,6];

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

হওয়া উচিত
const output = [2,2,2,1,4,3,3,9,6,7,19];

উদাহরণ

const arr1 = [2,3,1,3,2,4,6,7,9,2,19];
const arr2 = [2,1,4,3,9,6];
const relativeSortArray = (arr1, arr2) => {
   const map = new Map();
   const len = arr2.length;
   arr2.forEach((a, i) => {
      map.set(a, i); });
      return arr1.sort((a, b) => {
         a = map.has(a) ? map.get(a) : len + a;
         b = map.has(b) ? map.get(b) : len + b; return a - b;
   });
};
console.log(relativeSortArray(arr1, arr2));

আউটপুট

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

[
   2, 2, 2, 1, 4,
   3, 3, 9, 6, 7,
   19
]

  1. জাভাস্ক্রিপ্টে একটি অ্যারের বিকল্প সাজানো

  2. জাভাস্ক্রিপ্টে বিশেষ ধরনের সাজানোর অ্যালগরিদম

  3. জাভাস্ক্রিপ্টে ফ্রিকোয়েন্সি অনুসারে স্ট্রিং অক্ষর বাছাই করা

  4. জাভাস্ক্রিপ্টে অ্যারের অসম বাছাই