首页 > 解决方案 > 如何按日期对 JSON 进行排序?

问题描述

这是我的json

在此处输入图像描述

我想json按日期和时间排序。我写了下面的代码,但它不起作用。

this.newsArray.sort((a, b) =>
          new Date(b.time).getTime() - new Date(a.time).getTime());

newsArray如图所示,包含 4 个项目。

我该如何解决这个问题?

标签: javascriptjsonangulartypescript

解决方案


您正在使用导致无效日期的时间创建 Date 对象。使用日期和时间来创建您的日期对象:

const newsArray = [
  {date: '2018-11-17', time: '18:35:00'},
  {date: '2018-11-17', time: '17:35:00'},
  {date: '2018-11-17', time: '16:20:00'},
  {date: '2018-11-17', time: '20:39:00'},
];

const res = newsArray.sort((a, b) =>
          new Date(b.date + ' ' + b.time).getTime() - new Date(a.date + ' ' + a.time).getTime());
          
console.log(res);


推荐阅读