我有如下对象数组:
[{
a: 1,
created_on: '2021-04-23 10:00:01',
}, {
b: 1,
created_on: '2021-04-24 09:03:01',
}, {
b: 1,
created_on: '2021-04-24 13:03:01',
}]
首先,我需要按日期分组,忽略时间。
所以,
{
"2021-04-23": [{
a: 1,
created_on: '2021-04-23 10:00:01',
}],
....
}
如果日期格式如
created_on: '2021-04-23'
,我可以使用lodash/groupBy
。但现在需要应用某些条件将这些created_on
转换为日期格式,才能使用该方法进行分组。此外,还需要按照每个日期分组的结果对它们的
created_on
落入时间间隔内的情况进行分组。"SALES_SLOTS": [
{
"slot": "00:00-04:00"
},
{
"slot": "04:00-08:00"
},
{
"slot":"08:00-12:00"
},
{
"slot":"12:00-16:00"
},
{
"slot":"16:00-20:00"
},
{
"slot":"20:00-24:00"
}
],
如果 created_on: '2021-04-23 10:00:01'
,则应该归入该组。
{
"08:00-12:00": [{
a: 1,
created_on: '2021-04-23 10:00:01',
}]
}
因此,首先应该按照创建日期对结果进行分组,然后每个组中的元素应进一步按定义的时间段进行分组。
我想,如果我能使用分组条件,就可以实现所需的结果。