gpt4 book ai didi

javascript - 如何以 Angular 显示每小时前的数据

转载 作者:行者123 更新时间:2023-12-02 21:45:00 24 4
gpt4 key购买 nike

这是代码:

data = [
{
'name' : 'sample'
'date' : '2020-02-18 13:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 13:20:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 13:12:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 13:13:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 12:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 11:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 07:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 01:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 01:30:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 01:20:01'
},
]

预期输出:

 data = [
{
'name' : 'sample'
'date' : '2020-02-18 13:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 12:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 11:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 07:50:01'
},
]

这里我想做的是显示每小时的数据。数据将像这样过滤。

data = [
{
'name' : 'sample'
'date' : '2020-02-18 13:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 12:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 11:50:01'
},
{
'name' : 'sample'
'date' : '2020-02-18 07:50:01'
},
]

它不会获取不到一小时前的其他数据。如果数据是最近 30 分钟,则不会获取/显示。数据应该是最后一小时前的数据,数据应该是每小时前的数据。它应该是动态的。因为如果有一个新数据日期:2020-02-18 14:00:01,然后每小时前:

2020-02-18 14:00:01,

2020-02-18 13:00:01,

2020-02-18 12:00:01 等...

代码如下:https://stackblitz.com/edit/angular-dnbses?file=src/app/app.component.ts

最佳答案

如果您想按小时分组:

const result = data.reduce((a, { name, date }) => {
let currentDate = new Date(date);
let dateHour = currentDate.getFullYear() + '/' + currentDate.getMonth()
+ '/' + currentDate.getDate() + '/' + currentDate.getHours();
a[dateHour] = a[dateHour] || {name, date};
return a;
}, {})

一个例子:

let data = [
{
'name' : 'sample',
'date' : '2020-02-18 13:50:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 13:20:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 13:12:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 13:13:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 12:50:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 11:50:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 07:50:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 01:50:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 01:30:01'
},
{
'name' : 'sample',
'date' : '2020-02-18 01:20:01'
},
]

const result = data.reduce((a, { name, date }) => {
let currentDate = new Date(date);
let dateHour = currentDate.getFullYear() + '/' + currentDate.getMonth() + '/' + currentDate.getDate() + '/' + currentDate.getHours();
a[dateHour] = a[dateHour] || {name, date};
return a;
}, {})

console.log(Object.values(result));

关于javascript - 如何以 Angular 显示每小时前的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60277226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com