对数字进行排序,使偶数位于 JavaScript 前面

javascriptweb developmentobject oriented programming更新于 2025/10/8 16:44:17

我们有一个数字数组,其中包含一些正偶数和负偶数和奇数。我们需要按升序对数组进行排序,但所有偶数应出现在任何奇数之前,所有奇数应出现在所有偶数之后,显然两者都在偶数内排序。

因此,例如 −

如果输入数组是 −

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
]

相关文章


有用资源