对象根据key值进行排序

339 阅读1分钟

需求介绍

根据下面的对象键值,从小到大排序

let obj = {
      2016: [
          {
              "title": "标题1",
              "sum": "简介1"
          }
      ],
      2015: [
          {
              "title": "标题2",
              "sum": "简介2"
          }
      ],
      2017: [
          {
              "title": "标题3",
              "sum": "简介3"
          }
      ]
  }

实现

function compare(obj){
	let keyArray = [...Object.keys(obj)];
    let sortObj = {};

    keyArray = keyArray.sort((a,b)=>{
        return b - a;
    });
    for (let key of keyArray) {
        sortObj[key] = obj[key];
    }
    return sortObj
}

测试代码

compare(obj)
// 输出
{
  2015: [{…}]
  2016: [{…}]
  2017: [{…}]
}