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

জাভাস্ক্রিপ্টে নাম্বার সর্ট: শূন্য আগে, বাকি অবরোহী ক্রমে


সমস্যা বিবরণ

নাম্বার অ্যারে সর্ট করতে হবে যাতে সব শূন্য (0) আগে থাকে, বাকি নম্বরগুলো অবরোহী ক্রমে (descending) থাকে।

ইনপুট: [4, 7, 0, 3, 5, 1, 0]

আউটপুট: [0, 0, 7, 5, 4, 3, 1]

সমাধান

const arr = [4, 7, 0, 3, 5, 1, 0];

const specialSort = (arr = []) => {
  const sorter = (a, b) => {
    return (b || Number.MAX_VALUE) - (a || Number.MAX_VALUE);
  };
  arr.sort(sorter);
};

specialSort(arr);
console.log(arr);

আউটপুট

[ 0, 0, 7, 5, 4, 3, 1 ]

ব্যাখ্যা

  • b || Number.MAX_VALUE: যদি b ফালসি (0) হয়, তবে Number.MAX_VALUE ব্যবহার করা হয়, ফলে ০ সবচেয়ে "বড়" মনে হয় এবং শুরুতে চলে যায়।
  • অন্য নম্বরগুলো স্বাভাবিকভাবে b - a বা a - b অনুযায়ী সর্ট হয়।
  1. জাভাস্ক্রিপ্টে একই অ্যারেতে অ্যারের এলিমেন্টগুলো ডুপ্লিকেট করা

  2. জাভাস্ক্রিপ্টে রিডিউস মেথড ব্যবহার করে গড় বের করা

  3. জাভাস্ক্রিপ্টে সংখ্যা আর স্ট্রিং মিশ্রিত অ্যারে সর্ট করা

  4. জাভাস্ক্রিপ্টে একটি স্ট্রিংকে দ্বিতীয় স্ট্রিংয়ের ক্রম অনুযায়ী সর্ট করা