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

Sắp xếp đặc biệt mảng số trong JavaScript

Sắp xếp đặc biệt mảng số trong JavaScript

Chúng ta cần viết một hàm JavaScript nhận vào một mảng số và sắp xếp mảng sao cho trước tiên tất cả các số chẵn xuất hiện theo thứ tự tăng dần, sau đó tất cả các số lẻ xuất hiện theo thứ tự tăng dần.

Ví dụ: Nếu mảng đầu vào là:

const arr = [2, 5, 2, 6, 7, 1, 8, 9];

Đầu ra

Thì kết quả đầu ra nên là:

const output = [2, 2, 6, 8, 1, 5, 7, 9];

Do đó, hãy viết mã cho hàm này:

Ví dụ

Mã thực hiện như sau:

const arr = [2, 5, 2, 6, 7, 1, 8, 9];
const isEven = num => num % 2 === 0;
const sorter = ((a, b) => {
  if(isEven(a) && !isEven(b)){
    return -1;
  };
  if(!isEven(a) && isEven(b)){
    return 1;
  };
  return a - b;
});
const oddEvenSort = arr => {
  arr.sort(sorter);
};
oddEvenSort(arr);
console.log(arr);

Đầu ra

Kết quả trong console sẽ là:

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