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 ]