เรามีอาร์เรย์ตัวเลขที่มีเลขคู่และคี่ บวกและลบ เราต้องจัดเรียงอาร์เรย์ในลำดับเพิ่มขึ้น แต่วันเลขคู่ทั้งหมดควรปรากฏก่อนเลขคี่ใดๆ และเลขคี่ทั้งหมดควรปรากฏหลังเลขคู่ทั้งหมด และแน่นอนว่าทั้งคู่จัดเรียงในตัว
ดังนั้น ตัวอย่าง −
ถ้าอินพุทอาร์เรย์คือ −
const arr = [-2,3,6,-12,9,2,-4,-11,-8];
ผลลัพธ์ควรเป็น −
[ -12, -8, -4, -2, 2, 6, -11, 3, 9]
ดังนั้น มาเขียนโค้ดสำหรับฟังก์ชันจัดเรียงนี้
ตัวอย่าง
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 ]