Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng Số nguyên.
Hàm sẽ sắp xếp mảng sao cho tất cả các số lẻ đứng trước, sau đó đến số chẵn.
Thứ tự của các số lẻ hoặc số chẵn trong bản thân chúng không có nhiều tầm quan trọng, nhưng tất cả cá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 là -
const arr = [0, 2, 4, 6, 8, 0, 1, 3, 5, 7, 9, 1];
Sau đó, mảng được sắp xếp sẽ là (đó là một trong nhiều giải pháp mà tất cả các tỷ lệ cược đều có trước các tỷ lệ) -
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);
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ 1, 3, 5, 7, 9, 1, 0, 2, 4, 6, 8, 0 ]