Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ผลัก NaN ไปที่อาร์เรย์สุดท้ายโดยใช้ sort() ใน JavaScript


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