সমস্যা বিবরণ
নাম্বার অ্যারে সর্ট করতে হবে যাতে সব শূন্য (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অনুযায়ী সর্ট হয়।