我正在编写一个函数,它接受一组对象并将数据解析为日期范围。现在我有以下内容:
function(result) {
var dates = [];
var data = [];
for (var i = 0; i < result.length; i++) {
var story = result[i];
var date = new Date(parseInt(story['UpdatedAt'].replace("/Date(", "").replace(")/", ""), 10));
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
var estimate = story['Estimate'];
if (estimate == null)
estimate = 0;
if (dates[date] == null) {
dates[date] = [date, 1, estimate];
data.push(dates[date]);
} else {
dates[date][1] += 1;
dates[date][2] += estimate;
data.push(dates[date]);
}
}
console.log(dates);
drawStoriesCompletedChart(data);
}
我有两个数组,一个用于日期,一个用于数据。此功能的结果将输入Google Charts API,该API需要数据为[[a,b,c], [a,b,c]]
上面的代码工作得益于Google Charts的工作方式,但我知道由于数据数组被推送到每个循环迭代,因此会有一堆没有更新数据的重复数据。
我想要的是从每个对象获取数据并解析它,如下所示:
[[Date, Total Stories, Total Estimate], [...]]
并且对象中没有任何其他内容。