Ich bin auf der Suche nach Daten aus einem REST-Endpunkt, um ein Diagramm auf Knopfdruck zu füllen. Wenn die Taste zweimal gedrückt wird, werden die Daten verdoppelt. In diesem Fall möchte ich jedoch die alten Daten löschen und nur die neuen Daten anzeigen.JavaScript Data Arrays verdoppelt Wert
z. Auf dem ersten Tastendruck ist dieser die Daten zurückgegeben:
{19455746: 28, 22254286: 83, 22255638: 136, 22808354: 34}
Drücken Sie auf der zweiten Taste dieses zurückgegeben:
{19455746: 56, 22254286: 166, 22255638: 272, 22808354: 68}
In diesem Fall würde ich nur folgende zurück auf der zweiten Taste drücken will:
{19455746: 28, 22254286: 83, 22255638: 136, 22808354: 34}
Mein JavaScript-Code, der der Tastendruck auslöst, ist unten, ich habe versucht, diese zu fällen, was ich glaube, relevant zu sein, lassen Sie mich wissen, wenn mehr Code ist erforderlich):
$scope.getDateRangeRoom = function() {
$scope.data = null;
var obj = {};
condata = null;
...
$q.all(NexaService.getRoomDateRange(roomName, startDate, secondDate))
.then(function (response) {
for (var x = 0; x < response.length; x++) {
conData.push(response[x].data);
}
$scope.loaded = true;
for (var x = 0; x < conData.length; x++) {
for (var i = 0, j = conData[x].length; i < j; i++) {
if (obj[conData[x][i].sensorUUID]) {
obj[conData[x][i].sensorUUID]++;
} else {
obj[conData[x][i].sensorUUID] = 1;
}
}
}
var sensorNameArray = Object.keys(obj);
var sensorDataArray = sensorNameArray.map(key => obj[key]);
$scope.data = sensorDataArray;
...
}
Wie kann ich sicherstellen, dass die vorherigen Daten gelöscht werden und nur die neuen Daten zurückgegeben werden?
, die noch die Daten verursacht zu verdoppeln. – Colin747
Überprüfen Sie das Update. – raina77ow
Entschuldigung, ich hatte einen Kleinbuchstaben "D", als ich Ihre Änderung hinzugefügt habe. Es funktioniert jetzt wie erwartet. Danke für Ihre Hilfe! – Colin747