分别对奇数和偶数元素进行排序JavaScript

我们需要编写一个JavaScript函数,该函数接受一个Integer数组。

该函数应该对数组进行排序,以便所有奇数都排在最前面,然后是偶数。

奇数或偶数在其内部的顺序并不重要,但是所有奇数应在任何偶数之前。

例如-

如果输入数组是-

const arr = [0, 2, 4, 6, 8, 0, 1, 3, 5, 7, 9, 1];

然后排序数组应该是(这是所有赔率都在偶数前的众多解决方案之一)-

const output = [
1, 3, 5, 7, 9,
1, 0, 2, 4, 6,
8, 0
];

示例

const arr = [0, 2, 4, 6, 8, 0, 1, 3, 5, 7, 9, 1];
const sortOddEven = (arr = []) => {
   let i = 0, j, temp;
   while (i < arr.length - 1) {
      j = i;
      while (!(arr[j] % 2) && arr[j + 1] % 2) {
         temp = arr[j];
         arr[j] = arr[j + 1];
         arr[j + 1] = temp;
         if (!j) {
            break;
         };
         j--;
      };
      i++;
   };
};
sortOddEven(arr);
console.log(arr);

输出结果

控制台中的输出将是-

[
   1, 3, 5, 7, 9,
   1, 0, 2, 4, 6,
   8, 0
]