เราจำเป็นต้องเขียนฟังก์ชัน 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 ]