javascript - 如何在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'
}
]
解决方案
您的日期采用按字典顺序排序的格式,这意味着您无需花费资源创建新的 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)
推荐阅读
- python - Pandas:如何仅删除列末尾的最后一个连字符
- google-forms - 如何根据其他用户过去的回复使 Google 表单自动填充?
- c - 我知道一个地址,但我应该如何判断在哪个部分?使用C的全局区域或堆区域或堆栈区域
- json - 如何解决“手势 RangeError(索引)捕获的异常:无效值:有效值范围为空:0”
- c++ - 什么会使多边形算法中的点仅在正向和反向运行时才能正常工作?
- php - PHP:如何使用键->值对每两个分隔符将一个字符串分解为一个数组
- kubernetes - 将 GKE 集群拆除为“全新”状态而不删除它?
- scala - Spark——自定义reduce函数保存到磁盘然后上传到s3
- javascript - XMLHttpRequest 返回事件对象而不是实际数据
- fortran - Fortran 将未知大小的文件读入数组