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

Sắp xếp tự nhiên (Natural Sort) trong JavaScript

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' ]