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