如何根据 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 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.