所以我有一个这样的对象数组:
const data = [
{
"occurredAt": "04/19/2021",
"sold": 5762,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -5762,
"soldInPeriod": 13
},
{
"occurredAt": "04/18/2021",
"sold": 5749,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -5749,
"soldInPeriod": 65
},
{
"occurredAt": "04/17/2021",
"sold": 5684,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -5684,
"soldInPeriod": 120
},
{
"occurredAt": "04/16/2021",
"sold": 5564,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -5564,
"soldInPeriod": 737
},
{
"occurredAt": "04/15/2021",
"sold": 4827,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -4827,
"soldInPeriod": 890
},
{
"occurredAt": "04/14/2021",
"sold": 3937,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -3937,
"soldInPeriod": 1227
},
{
"occurredAt": "04/13/2021",
"sold": 2710,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -2710,
"soldInPeriod": 2707
},
{
"occurredAt": "04/05/2021",
"sold": 3,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -3,
"soldInPeriod": 2
},
{
"occurredAt": "04/02/2021",
"sold": 1,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -1,
"soldInPeriod": 1
}
];
我有一个这样的日期范围数组
const dateRange = ['2021-05-01', '2021-05-31'];
我正在尝试按日期范围差异对数据进行分组。 dateRange
相差一个月,所以对象中的occurredAt
应该是2021-04-01 - 2021-04-30
,2021-03-01 - 2021-03-31
等等,其余的属性应该总结一下,如果有该时间段没有数据,所有值应为0,整个过程应滚动6次,数据长度为6个对象。此外,dateRange
可以是从日期选择器中选择的任何其他范围,但重点是从 dateRange
获取天数差异并按该差异对数据进行分组。预期的结果应该是这样的
const data = [
{
"occurredAt": "'04/1/2021' - '04/30/2021'",
"sold": 34237,
"killed": 0,
"reserved": 0,
"held": 0,
"open": -34237,
"soldInPeriod": 5762
},
{
"occurredAt": "'03/1/2021' - '03/31/2021'",
"sold": 0,
"killed": 0,
"reserved": 0,
"held": 0,
"open": 0,
"soldInPeriod": 0
},
{
"occurredAt": "'02/1/2021' - '02/28/2021'",
"sold": 0,
"killed": 0,
"reserved": 0,
"held": 0,
"open": 0,
"soldInPeriod": 0
},
{
"occurredAt": "'01/1/2021' - '01/31/2021'",
"sold": 0,
"killed": 0,
"reserved": 0,
"held": 0,
"open": 0,
"soldInPeriod": 0
},
{
"occurredAt": "'12/1/2020' - '12/31/2020'",
"sold": 0,
"killed": 0,
"reserved": 0,
"held": 0,
"open": 0,
"soldInPeriod": 0
},
{
"occurredAt": "'11/1/2020' - '11/30/2020'",
"sold": 0,
"killed": 0,
"reserved": 0,
"held": 0,
"open": 0,
"soldInPeriod": 0
},
];
我知道这个问题不是书上写的,我知道我应该附上一些我尝试过的代码,但问题是我不知道从哪里开始。欢迎所有提示和示例!提前致谢!