Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Sắp xếp phần tử lẻ và chẵn riêng biệt trong JavaScript


Cần viết hàm JavaScript nhận mảng số nguyên. Hàm sắp xếp mảng sao cho tất cả số lẻ đến trước, theo sau là số chẵn. Thứ tự của số lẻ hoặc chẵn trong nhóm của chúng không quan trọng, nhưng tất cả số lẻ phải đứng trước bất kỳ số chẵn nào.

Ví dụ - Nếu mảng đầu vào:

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

Mảng đã sắp xếp (một trong nhiều giải pháp mà tất cả lẻ trước chẵn):

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

Ví dụ

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);

Kết quả

Kết quả trong console sẽ là:

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