เรามีอาร์เรย์ของตัวเลขที่มีจำนวนบวกและลบจำนวนคู่และคี่ เราจำเป็นต้องจัดเรียงอาร์เรย์ในลำดับจากน้อยไปมาก แต่เลขคู่ทั้งหมดควรปรากฏก่อนเลขคี่ใดๆ และเลขคี่ทั้งหมดควรปรากฏหลังเลขคู่ทั้งหมด และเห็นได้ชัดว่าทั้งสองจัดเรียงอยู่ภายใน
ตัวอย่างเช่น −
หากอาร์เรย์อินพุตเป็น −
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 ]