Ich versuche herauszufinden, wie kumulative Werte aus einer Datentabelle abgerufen werden, in die ein Benutzer Werte eingibt. Ich habe alle Daten in einem Array gespeichert, das darstellt Die Rohdaten, und ich versuche, ein Array zu erhöhen, das eine Kopie des Arrays ist, das die Rohdaten darstellt, um die kumulativen Daten für das Diagramm zu erhalten. Ich versuche dies zu tun, indem ich jedes Wertobjekt des Arrays auf die Werte jedes Index des Rohdatenarrays bis zum aktuellen Index hochsetze. Ich mache das durch eine Schleife, aber es scheint nicht zu funktionieren. Mein Code für die Funktion ist hier:Wert des Array-Objekts durch Verwendung der Werte der Objekte eines anderen Arrays erhöhen
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;
}
Sie setzen in der 'for' -Schleife kein' Datum'. Und da es kein 'chartData [date]' gibt, können Sie 'chartData [date] [i]' nicht setzen. – Barmar
Sollte 'rawData [Datum] [i]' nicht 'rawData [i] .date' sein? Sie scheinen über Array und Objekte verwirrt zu sein. – Barmar