จัดเรียง 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