【问题标题】:How to find the most recent date in an array with key values in Javascript [duplicate]如何在Javascript中使用键值查找数组中的最新日期[重复]
【发布时间】:2019-04-08 09:26:52
【问题描述】:

在这个文件数组中,我必须找到最近创建的文件。 我必须更改日期的格式还是可以按原样使用它?

let  files = [
  {
    name: 'untitled',
     created_at: '2015-02-03T09:43:03Z'
   },
  {
    name: 'ruby files',
     created_at: '2014-04-16T22:13:29Z'
   },
  {
    name: 'documents',
     created_at: '2016-05-09T09:39:24Z'
   }
]

【问题讨论】:

    标签: javascript arrays date


    【解决方案1】:

    您的日期采用按字典顺序排序的格式,这意味着您无需花费资源创建新的 Date 对象来查找最大的日期对象。您也不需要对列表进行排序,您可以通过循环或reduce() 查找最新的列表,效率更高:

    let  files = [{name: 'untitled',created_at: '2015-02-03T09:43:03Z'},{name: 'ruby files',created_at: '2014-04-16T22:13:29Z'},{name: 'documents',created_at: '2016-05-09T09:39:24Z'}]
    
    let most_recent = files.reduce((mostRecent, item) =>
       item.created_at > mostRecent.created_at 
       ? item
       : mostRecent
    )
    console.log(most_recent)

    【讨论】:

      【解决方案2】:

      这样做:

      files.sort(function(a,b){
          return new Date(b.created_at) - new Date(a.created_at);
      });
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多