【发布时间】:2022-01-25 05:56:20
【问题描述】:
这是我的数据库结构:
[
{
"schedule_time": "2021-05-17 12:39:29",
"slot": "L",
"item_date": "2021-05-18"
},
{
"schedule_time": "2021-05-17 12:47:53",
"slot": "D",
"item_date": "2021-05-18"
},
{
"schedule_time": "2021-05-18 13:55:22",
"slot": "D",
"item_date": "2021-05-19"
},
{
"schedule_time": "2021-05-19 16:09:15",
"slot": "L",
"item_date": "2021-05-20"
},
{
"schedule_time": "2021-05-19 16:11:55",
"slot": "L",
"item_date": "2021-05-20"
},
我想创建一个函数,该函数将采用 item_date,它会显示上午 9 点到 12 点之间的日程安排。前几天的上午 12 点至下午 3 点、下午 3 点至下午 6 点、下午 6 点至晚上 9 点。如果您查看数据库,item_date 和 schedule_date 是不一样的。这就是为什么我希望将前一天的日程安排在一个数组中。
我创建了一个函数,它只返回上午 9 点到 12 点的数据。我希望将时间表放在一个数组中。
function schedulesList (date){
let dbItemDate = date;
let otherDayArray = schedules.filter(num => num.item_date !== dbItemDate); // not equal because I want other dates schedules not the exact date
let times = otherDayArray?.filter(num => num.schedule_time.split(' ')[1] >= '12:00:00' && num.schedule_time.split(' ')[1] <= '14:00:00');
console.log('9am to 12pm', times.length, 'schedules') //
}
预期的结果应该是这样的:
[
'9am to 12pm' : 2,
'12pm to 3pm' : 0,
'3pm to 6pm' : 1,
'6pm to 9pm' : 3,
]
【问题讨论】:
-
请提供预期结果
-
预期结果应该是这样或类似的:
[ '9am to 12pm' : 2, '12pm to 3pm' : 0, '3pm to 6pm' : 1, '6pm to 9pm' : 3, ] -
请包含所有相关代码和minimal, complete, and reproducible code example,表明您首先尝试自己执行此操作。
标签: javascript arrays reactjs object filter