Computer >> Máy Tính >  >> Lập trình >> Javascript

Đẩy NaN xuống cuối mảng bằng cách sử dụng sort () trong JavaScript

Chúng ta có một mảng chứa kiểu dữ liệu hỗn hợp Chuỗi và đánh số, chúng ta phải viết một hàm sắp xếp để sắp xếp mảng sao cho các giá trị NaN luôn ở cuối cùng.

Mảng phải chứa tất cả các số hợp lệ ở phía trước, theo sau là ký tự chuỗi, tiếp theo là NaN.

Mã cho điều này sẽ là -

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

Đầu ra trong bảng điều khiển -

[
   75, 13, 859,
   872, 736, 176,
   15, 344, 'gfd',
   '', 'f', 'string',
   'new', NaN, NaN,
   NaN, NaN
]