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

เรียงลำดับ Property ของ Object ใน JavaScript ด้วย Object.keys().sort()

จัดเรียง key ของออบเจกต์ตามลำดับตัวอักษร/ตัวเลข

ใช้ Object.keys().sort() เรียง key แล้วสร้างออบเจกต์ใหม่ด้วย Object.fromEntries()

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

const subjectDetails = {
  102: "Java",
  105: "JavaScript",
  104: "MongoDB",
  101: "MySQL"
};

// เรียง key แล้วสร้างออบเจกต์ใหม่
const orderSubjects = Object.fromEntries(
  Object.keys(subjectDetails)
    .sort()
    .map(k => [k, subjectDetails[k]])
);

console.log(orderSubjects);

วิธีรัน

node fileName.js

ผลลัพธ์

{
  '101': 'MySQL',
  '102': 'Java',
  '104': 'MongoDB',
  '105': 'JavaScript'
}

คำอธิบาย

  • Object.keys(obj) ดึง key ทั้งหมดเป็นอาร์เรย์
  • .sort() เรียงลำดับ (default: string Unicode)
  • .map(k => [k, obj[k]]) สร้าง entry pairs [key, value]
  • Object.fromEntries() แปลง entry pairs กลับเป็นออบเจกต์

หมายเหตุ

  • Property order ใน JS object รักษาลำดับ insertion order (ES2015+)
  • Integer-like keys (เช่น "101") จะถูกเรียงเป็นตัวเลขอัตโนมัติ
  • String keys เรียงตาม Unicode code point