首页 > 解决方案 > 如何在Javascript中使用键值查找数组中的最新日期

问题描述

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

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'
   }
]

标签: javascriptarraysdate

解决方案


您的日期采用按字典顺序排序的格式,这意味着您无需花费资源创建新的 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)


推荐阅读