Chúng ta có một mảng chứa cả số và chuỗi, yêu cầu sắp xếp mảng sao cho các số được sắp xếp và đặt trước mọi chuỗi, sau đó các chuỗi được sắp xếp theo thứ tự bảng chữ cái.
Ví dụ
Giả sử mảng của chúng ta là:
const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9];
Kết quả mong đợi:
[1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd']
Vì vậy, hãy viết mã cho việc này:
const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9]; const sorter = (a, b) => { if(typeof a === 'number' && typeof b === 'number'){ return a - b; }else if(typeof a === 'number' && typeof b !== 'number'){ return -1; }else if(typeof a !== 'number' && typeof b === 'number'){ return 1; }else{ return a > b ? 1 : -1; } } arr.sort(sorter); console.log(arr);Kết quả đầu ra trong console:
[ 1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd' ]