对象转化为数组后各项顺序改变

原因:动态获取的数据,会出现这样的问题,例如我遇到的数据:

从后端动态获得的数据:

let obj = {
    "2019-09-11 2:00:00": 181.95,
    "2019-09-11 13:00:00": 186.34,
    "2019-09-11 14:00:00": 194.06,
    "2019-09-11 15:00:00": 184.54,
    "2019-09-12 08:00:00": 206.78,
    "2019-09-12 09:00:00": 399.42,
}

 

我转换为数组之后的数据

let arr = [
    ["2019-09-11 13:00:00", 186.34],
    ["2019-09-11 14:00:00", 194.06],
    ["2019-09-11 15:00:00", 184.54],
    ["2019-09-11 2:00:00", 181.95],
    ["2019-09-12 08:00:00", 206.78],
    ["2019-09-12 09:00:00", 399.42],
]

 

我需要的数据

[
    ["2019-09-11 2:00:00", 181.95],
    ["2019-09-11 13:00:00", 186.34],
    ["2019-09-11 14:00:00", 194.06],
    ["2019-09-11 15:00:00", 184.54],
    ["2019-09-12 08:00:00", 206.78],
    ["2019-09-12 09:00:00", 399.42],
]

 

方法:根据时间排序

arr.sort(function(a, b){ return b[0] < a [0] ? 1 : -1 })

 

posted @ 2021-03-12 14:42  sinceForever  阅读(420)  评论(2编辑  收藏  举报