按日期排序数组 - javascript [重复]

Posted

技术标签:

【中文标题】按日期排序数组 - javascript [重复]【英文标题】:Sort array by date - javascript [duplicate] 【发布时间】:2014-09-08 18:22:34 【问题描述】:

我想按日期对一组对象进行排序,但问题是它们的日期采用这种格式 - 2014-07-17T13:49:12.767Z

这里是这个数组中一个对象的例子


  id: 578,
  creationDate: "2014-07-16T20:56:04.710Z",
  creationUser: "FCOUT",
  modificationDate: "2014-07-17T13:49:12.767Z",
  modificationUser: "FCOUT",
  name: "Regra Filipe",
  description: "Teste",
  type: "Message",
  regulation: null,
  structure: 1,
  deleted: false,

我必须按修改日期或创建日期对它们进行排序!

【问题讨论】:

为什么日期是 UTC 格式会有问题?这不是让事情变得更容易吗?只需使用普通排序:w3schools.com/jsref/jsref_sort.asp 究竟是什么让您认为日期格式有问题?你有没有尝试过? 您可以在此处找到有关此主题的一些有用答案:Sort javascript Object Array By Date 【参考方案1】:

只需编写给定here 的排序函数。在您的情况下,比较功能将只是比较两个字符串,您提到的日期格式应该是开箱即用的。

即您可以将两个日期作为字符串进行比较。

【讨论】:

【参考方案2】:

Mozilla sorting documentation

使用比较功能

function(a, b) 
    if (a.creationDate < b.creationDate)  return -1; 
    if (a.creationDate > b.creationDate)  return 1; 
    return 0;

您的日期格式允许仅按字典顺序比较 creationDate 字符串

【讨论】:

以上是关于按日期排序数组 - javascript [重复]的主要内容,如果未能解决你的问题,请参考以下文章

数组列表按布尔值排序,然后按日期 JavaScript / TypeScript

Javascript - 按日期然后按时间对对象数组进行排序

如何在JavaScript中使用'MMMM Do YYYY,h:mm:ss a'对日期进行排序[重复]

javascript 数组按日期排序#js #array #sort

javascript 数组按日期排序#js #array #sort

javascript 使用日期值按单键对对象数组进行排序