我正在试图弄清楚如何从用户输入值的数据表中获取累积值。我已将所有数据存储到表示原始数据的数组中,并且我试图增加一个数组,该数组是表示原始数据的数组的副本,以获得图形的累积数据。我试图通过将数组的每个值对象递增到原始数据数组的每个索引的值直到当前索引来实现此目的。我通过一个循环来做这个,但它似乎没有工作。我的函数代码在这里:
function generateChartData() {
var rawData = [];
var chartData = [];
jQuery('.data-row').each(function () {
var date = jQuery(this).find('.data-category').val();
var value = jQuery(this).find('.data-value').val();
var value2 = jQuery(this).find('.data-value2').val();
if (date != '') {
rawData.push({
date: date,
value: value,
value2: value2
});
}
});
for (var i = 0; i < rawData.length; i++)
{
chartData[date][i] = rawData[date][i];
for(var j = i; j >= 0; j--)
{
chartData[i][value]+=rawData[j][value];
chartData[i][value]+=rawData[j][value2];
}
}
return chartData;
}
答案 0 :(得分:1)
您没有正确访问数组和对象元素。你可以使用一个简单的变量来保持运行总数。
var valueSum = 0;
var value2Sum = 0;
for (var i = 0; i < rawData.length; i++) {
rd = rawData[i];
valueSum += rd.value;
value2Sum += rd.value2;
chartData.push({
date: rd.date,
value: valueSum,
value2: value2Sum
});
}