如何在 Javascript 中使用键值查找数组中的最新日期

2 javascript arrays date

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

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'
   }
]
Run Code Online (Sandbox Code Playgroud)

Mar*_*yer 5

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