如何根據 key 的值對物件按照升序排列 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 }

更新於: 20-11-2020

704 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告