সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যা এবং স্ট্রিং মিশ্রিত একটি অ্যারে নেবে। ফাংশনটি একটি একক অ্যারে রিটার্ন করবে যেখানে প্রথমে সংখ্যাগুলো आरোহী ক্রমে সর্টেড থাকবে, তারপর স্ট্রিংগুলো বর্ণানুক্রমে সর্টেড থাকবে।
মানগুলো তাদের মূল টাইপ ধরে রাখবে।
উদাহরণ
নিচে কোড দেওয়া হলো:
const arr = [5, 8, 'car', 'dad', 'amber', 1, 12, 76, 'bat'];
const separateSort = (arr = []) => {
const sorter = (a, b) => {
if(typeof a === 'number' && typeof b === 'string'){
return -1;
};
if(typeof a === 'string' && typeof b === 'number'){
return 1;
};
if(typeof a === 'string' && typeof b === 'string'){
return a.charCodeAt(0) - b.charCodeAt(0);
};
return a - b;
};
const res = arr.sort(sorter);
return res;
};
console.log(separateSort(arr));
আউটপুট
কনসোল আউটপুট:
[ 1, 5, 8, 12, 76, 'amber', 'bat', 'car', 'dad' ]