我有一些JSON數據需要分割然後聚合。這是一個格式樣本。劃分和彙總json數據
data2 = [{"startDate": 1396263600.0, "adId": 2483231759355, "endDate": 1401101940.0, "impressions": 754831},
{"startDate": 1393851600.0, "adId": 2750329551133, "endDate": 1404212340.0, "impressions": 3947368},
{"startDate": 1401620400.0, "adId": 1311595275159, "endDate": 1404212340.0, "impressions": 630000}];
我想統一劃分日期範圍內每天的展示次數。 (即如果在10天的範圍內有100次展示,那麼每天將獲得10次展示)。然後,我想彙總每天所有廣告的展示次數(例如,如果某天有兩個廣告,則它們合併)。所以最終的結果將是一連串的日子和印象。不太熟悉JavaScript,所以不確定是否有任何功能讓我的生活更輕鬆。有什麼建議麼?
我打算使用這個函數來計算日期之間的天數:
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24;
// Convert both dates to milliseconds
var date1_ms = date1 * 1000;
var date2_ms = date2 * 1000;
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms);
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY);
}
希望保持最終結果有相同的格式輸入只是2場(日期和次數),而不是4. – user40721
@ user40721根據我在Grainier的主題中的評論檢查我的更新答案 – juvian
- 結果似乎沒有意義。由於有2個日期範圍,所以應該只有1個峯值。 請參閱http://jsfiddle.net/hohenheim/6R7mu/24/,瞭解使用linq.js和完整數據集的正確解決方案。 – user40721