정수 배열을 취하는 JavaScript 함수를 작성해야 합니다.
이 함수는 모든 홀수가 먼저 오고 그 다음에 짝수가 오도록 배열을 정렬해야 합니다.
자체 내에서 홀수 또는 짝수의 순서는 그다지 중요하지 않지만 모든 홀수는 짝수보다 먼저 와야 합니다.
예를 들어 -
입력 배열이 -
인 경우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 ]