ภาพรวม
สมมติว่าเรามีอ็อบเจ็กต์ดังนี้:
const obj = {
"sub1": 56,
"sub2": 67,
"sub3": 98,
"sub4": 54,
"sub5": 87
};
เราต้องเขียนฟังก์ชันที่รับอ็อบเจ็กต์ดังกล่าว จัดเรียงอ็อบเจ็กต์ตามค่าของคุณสมบัติจากน้อยไปมาก และคืนค่าอ็อบเจ็กต์ที่จัดเรียงแล้ว
ตัวอย่างโค้ด
const obj = {
"sub1": 56,
"sub2": 67,
"sub3": 98,
"sub4": 54,
"sub5": 87
};
const sortObject = obj => {
const sorter = (a, b) => {
return obj[a] - obj[b];
};
const keys = Object.keys(obj);
keys.sort(sorter);
const res = {};
keys.forEach(key => {
res[key] = obj[key];
});
return res;
};
console.log(sortObject(obj));
ผลลัพธ์ในคอนโซล
{ sub4: 54, sub1: 56, sub2: 67, sub5: 87, sub3: 98 }