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

Sắp xếp số sao cho số chẵn đứng trước trong JavaScript

Cho mảng số có dương/âm chẵn/lẻ. Sắp xếp tăng dần nhưng số chẵn phải đứng trước số lẻ, cả hai nhóm đều sắp xếp nội bộ.

Ví dụ: [-2,3,6,-12,9,2,-4,-11,-8] => [-12, -8, -4, -2, 2, 6, -11, 3, 9].

Ví dụ

const arr = [-2,3,6,-12,9,2,-4,-11,-8];

const sorter = (a, b) => {
  const isAEven = !(a % 2);
  const isBEven = !(b % 2);
  if (isAEven && !isBEven) {
    return -1;
  }
  if (!isAEven && isBEven) {
    return 1;
  }
  return a - b;
};

arr.sort(sorter);
console.log(arr);

Kết quả

Đầu ra trong console sẽ là:

[ -12, -8, -4, -2, 2, 6, -11, 3, 9 ]