【问题标题】:Sorting an array of JSON objects by date按日期对 JSON 对象数组进行排序
【发布时间】:2020-01-31 06:21:31
【问题描述】:

我通过 API 调用获得了这个 JSON 对象数组,我想按日期对其进行排序。但是日期格式是 ISO 格式,我是 javascript 新手,所以我不知道如何转换它然后对其进行排序。

  "statuses": [
    {
      "date": "2020-01-31T05:57:32.143Z",
      "status": "Awaiting Pickup"
    },
    {
      "date": "2020-01-30T07:55:08.033Z",
      "status": "Dispatched"
    },
    {
      "date": "2020-01-18T07:55:08.033Z",
      "status": "Parcel Assigned to Rider for Delivery"
    },
    {
      "date": "2020-01-12T07:55:08.033Z",
      "status": "Delivered"
    },
    {
      "date": "2020-01-24T07:55:08.033Z",
      "status": "Returned"
    }
  ],
}

【问题讨论】:

  • 你不需要隐藏它们。 ISO 日期字符串作为字符串正确排序。

标签: javascript arrays json sorting


【解决方案1】:

使用sort。对于转换,您可以使用new Date()

var obj={ "statuses": [
    {
      "date": "2020-01-31T05:57:32.143Z",
      "status": "Awaiting Pickup"
    },
    {
      "date": "2020-01-30T07:55:08.033Z",
      "status": "Dispatched"
    },
    {
      "date": "2020-01-18T07:55:08.033Z",
      "status": "Parcel Assigned to Rider for Delivery"
    },
    {
      "date": "2020-01-12T07:55:08.033Z",
      "status": "Delivered"
    },
    {
      "date": "2020-01-24T07:55:08.033Z",
      "status": "Returned"
    }
  ],
}
obj.statuses.sort((a,b)=>new Date(a.date)-new Date(b.date))
console.log(obj)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 2011-10-30
    • 2015-02-25
    相关资源
    最近更新 更多