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

เรียงตัวเลขเพื่อให้เลขคู่นำหน้า JavaScript


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

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

const arr = [-2,3,6,-12,9,2,-4,-11,-8];

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

[
   -12, -8, -4, -2, 2,
   6, -11, 3, 9
]

ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชัน sort กัน −

ตัวอย่าง

const arr = [-2,3,6,-12,9,2,-4,-11,-8];
const sorter = (a, b) => {
   const isAEven = !(a % 2);
   const isBEven = !(b % 2);
   if(isAEven && !isBEven){
      return -1;
   };
   if(!isAEven && isBEven){
      return 1;
   };
   return a - b;
};
arr.sort(sorter);
console.log(arr);

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

[
   -12, -8, -4, -2, 2,
   6, -11, 3, 9
]