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

জাভাস্ক্রিপ্টে মাল্টি-ডাইমেনশনাল অ্যারে সর্ট করা

ধরুন, আমাদের নিচের অ্যারেের অ্যারে আছে:

const arr = [ ["A","F","A","H","F","F"], ["F","A","A","F","F","H"] ];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে গ্রহণ করে।

ফাংশনটি দেওয়া অ্যারেতে সব সাবঅ্যারে ইন্টারন্যালি নিচের নিয়ম অনুযায়ী সর্ট করবে:

  • যদি এলিমেন্ট "A" বা "F" না হয়, তবে সেগুলো তাদের পজিশন ধরে রাখবে
  • যদি এলিমেন্ট "A" বা "F" হয়, তবে সেগুলো আলফাবেটিক্যালি সর্ট হবে

অতএব, উপরের অ্যারেতে ফাইনাল আউটপুট হবে:

const output = [ ["A","A","A","H","A","F"], ["F","F","F","F","F","H"] ];

লক্ষ্য করুন যে সাবঅ্যারেতে এলিমেন্টগুলো সর্টিং অ্যালগরিদম অনুযায়ী অ্যারে বদলাতে পারে।

উদাহরণ

const arr = [
  ["A","F","A","H","F","F"],
  ["F","A","A","F","F","H"]
];
const customSort = (arr = []) => {
  const order = [].concat(...arr.slice()),
  res = [];
  order.forEach((el, ind) => {
    if (el === 'A') {
      const fIndex = order.indexOf('F');
      if (fIndex < ind){
        order[fIndex] = 'A'; order[ind] = 'F';
      };
    };
  })
  arr.forEach(el => res.push(order.splice(0, el.length)))
  return res;
}
console.log(customSort(arr));

আউটপুট

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

[ [ 'A', 'A', 'A', 'H', 'A', 'F' ], [ 'F', 'F', 'F', 'F', 'F', 'H' ] ]
  1. জাভাস্ক্রিপ্টে Array.prototype.sort() মেথড

  2. জাভাস্ক্রিপ্টে অ্যারে vs সেট

  3. জাভাস্ক্রিপ্টে অ্যারে রিডিউস করা (reduce)

  4. জাভাস্ক্রিপ্টে বহু-মাত্রিক অ্যারে ফ্ল্যাটেন করা