JavaScript 特殊型別的陣列排序


我們需要編寫一個 JavaScript 函式,它接受一個數字陣列,並按照以下方式對陣列進行排序:首先是所有偶數按照升序出現,然後所有奇數按照升序出現。

例如:如果輸入陣列為 −

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

輸出

則輸出應為 −

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

因此,我們來為該函式編寫程式碼 −

範例

程式碼如下 -

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);

輸出

在控制檯中的輸出將是 −

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

更新日期:2020 年 10 月 17 日

99 次瀏覽

職業生涯起航

完成課程以獲得認證

開始學習
廣告
© . All rights reserved.