对数字进行排序,以使偶数位于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
]