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];
Sau đó, đầu ra phải là -
const output = [2, 2, 6, 8, 1, 5, 7, 9];
Ví dụ
Sau đây là mã -
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
Sau đây là đầu ra trong bảng điều khiển -
[ 2, 2, 6, 8, 1, 5, 7, 9 ]