这个对象怎么排序

var obj = {
    "10": 20.1,
    "11": 16,
    "12": 12.7,
    "01": 0,
    "02": 0,
    "03": 0,
    "04": 0,
    "05": 0,
    "06": 0,
    "07": 0,
    "08": 27.6,
    "09": 24.3
};

按照key值排序。

阅读 3.2k
5 个回答

JSON是无序的,并且浏览器会自动根据key排序的,所以排序没有神马卵用。

clipboard.png

新手上路,请多包涵

建议先转为数组,然后排序,然后再转为对象

    var obj = {
      '10': 20.1,
      '11': 16,
      '12': 12.7,
      '01': 0,
      '02': 0,
      '03': 0,
      '04': 0,
      '05': 0,
      '06': 0,
      '07': 0,
      '08': 27.6,
      '09': 24.3
    }
    console.log(Object.keys(obj).sort().reduce((a, b) => (a[b] = obj[b], a), {}))
var arr = []
for (const key in obj) {
  arr[key] = obj[key]
}

这样可以实现你的需求

如果中间不是连续的 需要之后再过滤一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题