Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

คี่แม้แต่เรียงลำดับในอาร์เรย์ - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขและจัดเรียงอาร์เรย์ดังกล่าวโดยให้ตัวเลขคู่ทั้งหมดปรากฏในลำดับจากน้อยไปหามากก่อน จากนั้นตัวเลขคี่ทั้งหมดจะปรากฏในลำดับจากน้อยไปมาก

ตัวอย่างเช่น หากอาร์เรย์อินพุตเป็น −

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

จากนั้นผลลัพธ์ควรเป็น −

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

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [2, 5, 2, 6, 7, 1, 8, 9];
const isEven = num => num % 2 === 0;
const sorter = ((a, b) => {
   if(isEven(a) && !isEven(b)){
      return -1;
   };
   if(!isEven(a) && isEven(b)){
      return 1;
   };
   return a - b;
});
const oddEvenSort = arr => {
   arr.sort(sorter);
};
oddEvenSort(arr);
console.log(arr);

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์ในคอนโซล -

[
   2, 2, 6, 8,
   1, 5, 7, 9
]