JavaScript:对对象进行排序

假设我们有一个这样的对象的对象-

const obj = {

   "CAB": {

      name: 'CBSSP',

      position: 2

   },

   "NSG": {

      name: 'NNSSP',

      position: 3

   },

   "EQU": {

      name: 'SSP',

      position: 1

   }

};

我们需要编写一个JavaScript函数,该函数接受一个这样的数组,并根据子对象的“位置”属性(以升序或降序)对子对象进行排序。

示例

为此的代码将是-

const obj = {

   "CAB": {

      name: 'CBSSP',

      position: 2

   },

   "NSG": {

      name: 'NNSSP',

      position: 3

   },

   "EQU": {

      name: 'SSP',

      position: 1

   }

};

const sortByPosition = obj => {

   const order = [], res = {};

   Object.keys(obj).forEach(key => {

      return order[obj[key]['position'] - 1] = key;

   });

   order.forEach(key => {

      res[key] = obj[key];

   });

   return res;

}

console.log(sortByPosition(obj));

输出结果

控制台中的输出将是-

{

   EQU: { name: 'SSP', position: 1 },

   CAB: { name: 'CBSSP', position: 2 },

   NSG: { name: 'NNSSP', position: 3 }

}

以上是 JavaScript:对对象进行排序 的全部内容, 来源链接: utcz.com/z/316069.html

回到顶部