对数字进行排序,使偶数排在前面 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 次浏览

启动你的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.