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

Sắp xếp mảng chẵn lẻ (chẵn trước, lẻ sau) - JavaScript

Viết hàm sắp xếp mảng sao cho: các số chẵn đứng trước (tăng dần), các số lẻ đứng sau (tăng dần).

Ví dụ

Đầu vào: [2, 5, 2, 6, 7, 1, 8, 9]

Đầu ra: [2, 2, 6, 8, 1, 5, 7, 9]

Giải pháp

Tùy chỉnh hàm so sánh sort:

const arr = [2, 5, 2, 6, 7, 1, 8, 9];
const isEven = num => num % 2 === 0;

const sorter = (a, b) => {
  // Chẵn đứng trước lẻ
  if (isEven(a) && !isEven(b)) return -1;
  if (!isEven(a) && isEven(b)) return 1;
  // Cùng chẵn/lẻ: sắp xếp tăng dần
  return a - b;
};

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

Kết quả

Đầu ra trong console:

[2, 2, 6, 8, 1, 5, 7, 9]