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

Kiểu sắp xếp đặc biệt của mảng số trong JavaScript

Chúng tôi được yêu cầu 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 và 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

Sau đó, đầu ra phải là -

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

Do đó, hãy viết mã cho chức năng này -

Ví dụ

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

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

Đầu ra trong bảng điều khiển sẽ là -

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