だから、あなたは毎日のカウントを持っています。次に、各エントリを反復処理して、現在のエントリと次のエントリの間の日数を見つけることができます。その後、配列に 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);
}