Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm thế nào để sắp xếp một đối tượng theo thứ tự tăng dần theo giá trị của một khóa trong JavaScript?

Giả sử chúng ta có đối tượng sau -

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

Chúng tôi được yêu cầu viết một hàm JavaScript có một đối tượng như vậy. Sau đó, hàm của chúng ta sẽ sắp xếp đối tượng theo thứ tự tăng dần của các giá trị có trong đối tượng. Và cuối cùng, chúng ta nên trả về đối tượng được hình thành như vậy.

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

{ sub4: 54, sub1: 56, sub2: 67, sub5: 87, sub3: 98 }