Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

จัดเรียงสมาชิกคี่และคู่แยกกันใน JavaScript

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