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

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

最佳答案

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

关于javascript - 如何在 Javascript 中使用键值查找数组中的最新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53147295/

相关文章:

python - 我如何转换不同的日期 python 格式?

javascript - 无法将 FabricJS svg 或组对象移动到 Canvas 左上角

javascript - JSON stringify 忽略数组中的某些值

php - 根据频率计算一系列 future 日期的算法

mysql - 如何获取数据库中最近一个月的数据?

c# - C#中的数组初始化

javascript - jQuery Transit 动画重叠

javascript - 使用 GreaseKit : if a string is present in a table cell,,然后单击特定按钮(如果它出现在同一个单元格中)

javascript - CSS3 转换似乎需要 "warmup"时间才能开始?我必须加等待吗?

javascript - JavaScript 数组初始化之前的 "var"指的是什么,是列表的元素还是数组本身?