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

วิธีจัดเรียงอ็อบเจ็กต์ตามค่าของคีย์จากน้อยไปมากใน JavaScript


ภาพรวม

สมมติว่าเรามีอ็อบเจ็กต์ดังนี้:

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 }