Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Đẩy NaN về cuối mảng bằng sort() trong JavaScript

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 ]