我们有一个数字数组,其中包含一些正负的偶数和奇数。我们需要按升序对数组进行排序,但所有偶数应出现在任何奇数之前,所有奇数应出现在所有偶数之后,并且显然都在其中排序。
因此,例如-
如果输入数组是-
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 ]