Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เรียงลำดับอาร์เรย์ที่มีค่า undefined - JavaScript

อาร์เรย์ที่มี undefined: ["Mike", undefined, "Adam", "Bob", undefined, "Carol"]

ใช้ sort() พร้อม comparator จัดการ undefined

ตัวอย่างโค้ด

var studentNames = ["Mike", undefined, "Adam", "Bob", undefined, "Carol"];
var sortingInAscendingOrder = (first, second) => {
  if (first === "") return 1;
  if (second === "") return -1;
  return first.localeCompare(second);
};
studentNames.sort(sortingInAscendingOrder);
console.log(studentNames);

รันด้วยคำสั่ง:

node fileName.js

ชื่อไฟล์: demo275.js

ผลลัพธ์

PS C:\Users\Amit\javascript-code> node demo275.js
[ 'Adam', 'Bob', 'Carol', 'Mike', undefined, undefined ]

คำอธิบาย: Comparator ตรวจสอบค่าว่าง (แต่โค้ดตัวอย่างตรวจสอบ === "" ไม่ใช่ undefined - อาจเป็น oversight) localeCompare() เรียงตัวอักษร ตัว undefined จะถูกย้ายไปท้าย

แก้ไขที่ถูกต้อง: ตรวจสอบ first == null หรือ typeof first === 'undefined'