Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript có một mảng số và chuỗi. Hàm của chúng ta phải trả về một mảng duy nhất có các số đầu tiên được sắp xếp theo thứ tự tăng dần, tiếp theo là các chuỗi được sắp xếp theo thứ tự bảng chữ cái.
Các giá trị phải duy trì kiểu ban đầu của chúng.
Ví dụ
Sau đây là mã -
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));
Đầu ra
Sau đây là đầu ra của bảng điều khiển -
[ 1, 5, 8, 12, 76, 'amber', 'bat', 'car', 'dad' ]