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
]