javascript - 如何过滤数组中的最后一天?
问题描述
我有一个这样的对象数组:
[
{
created: "2019-08-14T13:24:36Z",
email: "test1@gmail.com"
},
{
created: "2019-08-15T13:24:36Z",
email: "test2@gmail.com"
},
{
created: "2019-08-16T13:24:36Z",
email: "test1@gmail.com"
},
{
created: "2019-08-22T13:24:36Z",
email: "test4@gmail.com"
},
{
created: "2019-08-22T15:29:66Z",
email: "test1@gmail.com"
}
]
数组按 排序created
。我想要filter
那些在最后一天的记录,与那天的时间无关。我使用添加了时间戳moment.js
。这些线上的东西:
router.get('/GetLastDayRecords', (req, res) => {
res.json(allRecords.filter(record => record.created.max()));
});
解决方案
拆分任务:首先获取排序数组末尾的最大日期(只需获取其中的“YYYY-MM-DD”部分就足够了),然后启动过滤器:
let max = allRecords.length ? allRecords[allRecords.length-1].created.slice(0,10) : "";
res.json(allRecords.filter(({created}) => created >= max));
推荐阅读
- assembly - 七段显示多路复用
- r - 如何在反应事件后使 Shiny App 发出哔哔声/播放声音?
- c - nouveau 驱动程序使用哪个内核“api”?
- python - 在 Windows 中安装 torchaudio
- python - 使用 Generator 输入数据集但得到 IndexError
- react-native - 在返回更新父级上反应导航 V5
- ms-access - 访问更改表关系本身
- swift - 为什么我会收到嵌套关联类型的 Swift 错误
- swift - Swift + Combine 中是否有类似于 PromiseKit 的“确保”的功能?
- r - 安装后 Rstudio 未从 ubuntu 上的终端执行