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

জাভাস্ক্রিপ্টে রিলেটিভ সর্টিং

ধরুন, আমাদের দুটি অ্যারে আছে, মনে করুন arr1 এবং arr2। arr2-এর এলিমেন্টগুলো ডISTINCT, এবং 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. জাভাস্ক্রিপ্টে অ্যারে-এর বিষম সর্টিং