我无法控制数据列表,但我需要将其映射到日期范围数据。生成日期并向对象数组添加新属性
数据列表看起来像这样,只有从和到。
[
{
"date_from": "2017-05-06 00:00:00",
"date_to": "2017-05-08 23:59:59",
"state": {
"name": "San francisco"
}
}
{
"date_from": "2017-05-03 00:00:00",
"date_to": "2017-05-07 23:59:59",
"state": {
"name": "Las Vegas"
}
}
]
我能产生上月
function generateDates(startDate, stopDate) {
var dateArray = [];
var currentDate = moment(startDate);
var stopDate = moment(stopDate);
while (currentDate <= stopDate) {
dateArray.push({
date: moment(currentDate).format('YYYY-MM-DD')
});
currentDate = moment(currentDate).add(1, 'days');
}
return dateArray;
}
generateDates('2017-05-01', '2017-05-31');
我怎样才能把状态对象为日期范围阵列状
[
{date: '2017-05-06', state:{name:'San francisco'}},
{date: '2017-05-07', state:{name:'San francisco'}},
{date: '2017-05-08', state:{name:'San francisco'}},
..
..
]
您必须在将日期推到dateArray之前添加状态。恐怕必须通过迭代每个生成日期的列表来完成。您可以通过对列表进行排序进一步对其进行优化,并且验证应该在多个匹配中。 –
看看http://stackoverflow.com/questions/43831941/split-from-date-and-to-date-to-a-list-of-date-range-array/43832057?noredirect=1#。 .. –
你的日期没有时区,应该使用哪一个? – RobG