JavaScript 特殊类型的数组排序
我们需要编写一个 JavaScript 函数,它接受一个数字数组,并按照以下方式对数组进行排序:首先是所有偶数按照升序出现,然后所有奇数按照升序出现。
例如:如果输入数组为 −
const arr = [2, 5, 2, 6, 7, 1, 8, 9];
输出
则输出应为 −
const output = [2, 2, 6, 8, 1, 5, 7, 9];
因此,我们来为该函数编写代码 −
范例
代码如下 -
const arr = [2, 5, 2, 6, 7, 1, 8, 9]; const isEven = num => num % 2 === 0; const sorter = ((a, b) => { if(isEven(a) && !isEven(b)){ return -1; }; if(!isEven(a) && isEven(b)){ return 1; }; return a - b; }); const oddEvenSort = arr => { arr.sort(sorter); }; oddEvenSort(arr); console.log(arr);
输出
在控制台中的输出将是 −
[ 2, 2, 6, 8, 1, 5, 7, 9 ]
广告