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