เรามีอาร์เรย์ที่มีข้อมูล String และ number ผสมกัน ต้องเขียนฟังก์ชันเรียงที่ทำให้ NaN อยู่ท้ายสุดเสมอ
อาร์เรย์ควรมีตัวเลขที่ถูกต้องหน้าสุด ตามด้วยสตริง ตามด้วย NaN
โค้ดสำหรับนี้:
const arr = [344, 'gfd', NaN, '', 15, 'f',176, NaN, 736, NaN, 872, 859, 'string', 13, 'new', NaN, 75]; const sorter = (a, b) => { if(a !== a){ return 1; }else if(b !== b){ return -1; } return typeof a === 'number' ? -1 : 1; }; arr.sort(sorter); console.log(arr);ผลลัพธ์
ผลลัพธ์ในคอนโซล:
[ 75, 13, 859, 872, 736, 176, 15, 344, 'gfd', '', 'f', 'string', 'new', NaN, NaN, NaN, NaN ]