對數字進行排序,使偶數排在前面 JavaScript


我們有一個包含一些正負偶數和奇數的數字陣列。我們需要按升序對陣列進行排序,但所有偶數都應出現在任何奇數之前,所有奇數都應出現在所有偶數之後,並且顯然兩者都在內部排序。

因此,例如:

如果輸入陣列是:

const arr = [-2,3,6,-12,9,2,-4,-11,-8];

那麼輸出應該是:

[ -12, -8, -4, -2, 2, 6, -11, 3, 9]

因此,讓我們為這個排序函式編寫程式碼:

示例

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

輸出

控制檯中的輸出將是:

[
   -12, -8, -4, -2, 2,
   6, -11, 3, 9
]

更新於:2020年8月25日

154 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告