Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะเรียงลำดับวัตถุจากน้อยไปมากตามค่าของคีย์ใน JavaScript ได้อย่างไร?


สมมติว่าเรามีวัตถุดังต่อไปนี้ −

const obj = {
   "sub1": 56,
   "sub2": 67,
   "sub3": 98,
   "sub4": 54,
   "sub5": 87
};

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับวัตถุดังกล่าว จากนั้นฟังก์ชันของเราควรเรียงลำดับออบเจกต์ในลำดับจากน้อยไปมากของค่าที่มีอยู่ในออบเจกต์ และสุดท้ายเราควรคืนวัตถุที่ก่อตัวขึ้นเช่นนี้

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

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 }