所以,你有每日计数。然后,您可以遍历每个条目并找到当前条目和下一个条目之间的天数,然后您只需要用 0 填充数组。
最好使用零填充数组,然后仅添加当前数组中日期的计数,这样您就不需要对日期进行任何检查。
你每天间隔
var millisInDay = 1000*60*60*24;
这将为您提供每日间隔的数量
var intervals = parseInt(((lastDateInMillis - startDateInMillis)/
millisInDay) + 1);
然后当你迭代你的日期数组时
[[1357171200000, 1], [1357344000000, 1], [1357430400000, 2],
[1357516800000, 2], [1357689600000, 3], [1357776000000, 1]]
检查哪个时间间隔是日期,并更新“时间间隔”数组中的计数 ( counts
)
var interval = ((currentDateMillis - startDateInMillis) / millisInDay);
counts[interval] += currentCount;
然后您可以使用index
特定日期映射计数:
function getEpochStartInterval(index){
return startDateInMillis + (index * millisInDay);
}
function getEpochEndInterval(index){
return startDateInMillis + ((index + 1) * millisInDay);
}