Chúng ta có mảng chứa kiểu dữ liệu String và number hỗn hợp, cần viết hàm sắp xếp sao cho giá trị NaN luôn ở cuối.
Mảng nên chứa tất cả số hợp lệ ở đầu, theo sau là chuỗi, cuối cùng là NaN.
Mã cho việc này:
const arr = [344, 'gfd', NaN, '', 15, 'f',176, NaN, 736, NaN, 872, 859, 'string', 13, 'new', NaN, 75]; const sorter = (a, b) => { if(a !== a){ return 1; }else if(b !== b){ return -1; } return typeof a === 'number' ? -1 : 1; }; arr.sort(sorter); console.log(arr);Đầu ra
Kết quả trên console:
[ 75, 13, 859, 872, 736, 176, 15, 344, 'gfd', '', 'f', 'string', 'new', NaN, NaN, NaN, NaN ]