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

กำหนดฟังก์ชันเรียงลำดับแบบกำหนดเอง (Custom Sort) ใน JavaScript

เพื่อสร้างฟังก์ชันเรียงลำดับแบบกำหนดเอง ให้เปรียบเทียบค่าแรกกับค่าที่สอง:

  • ถ้าค่าแรกมากกว่าค่าที่สอง ให้คืนค่า -1
  • ถ้าค่าแรกน้อยกว่าค่าที่สอง ให้คืนค่า 1
  • มิฉะนั้นคืนค่า 0

กระบวนการนี้จะเรียงจากมากไปน้อย (Descending) หากต้องการน้อยไปมาก (Ascending) ให้กลับลำดับการคืนค่า

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

var name = ['David', 'Adam', 'John', 'Bob'];
name.sort(function (first, second) {
  if (first > second) {
    return -1;
  }
  if (first < second) {
    return 1;
  }
  return 0;
});
console.log(name);

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

node fileName.js

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

ผลลัพธ์

PS C:\Users\Amit\javascript-code> node demo263.js
[ 'John', 'David', 'Bob', 'Adam' ]

คำอธิบายเพิ่มเติม: ฟังก์ชันเปรียบเทียบ (comparator) ควรคืนค่าติดลบ ศูนย์ หรือบวก เพื่อบอกลำดับการเรียง สำหรับตัวอักษร ใช้ localeCompare() จะง่ายกว่า