0
我正在尋找從REST端點返回數據以在按鈕按下時填充圖形。如果按鈕被按下兩次,那麼數據會翻倍,但是在這種情況下,我希望刪除舊數據並只顯示新數據。JavaScript數據數組的值翻倍
E.g. 在按下第一個按鈕,這是返回的數據:
{19455746: 28, 22254286: 83, 22255638: 136, 22808354: 34}
在第二次按下按鈕,這是返回:
{19455746: 56, 22254286: 166, 22255638: 272, 22808354: 68}
在這種情況下我也只是想在第二個按鈕按下下面的返回:
{19455746: 28, 22254286: 83, 22255638: 136, 22808354: 34}
,按鈕按下觸發
我的JavaScript代碼是下面,我試圖削減下來到了我認爲是相關的,讓我知道更多的代碼是必需的):
$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;
...
}
我怎樣才能確保以前的數據被刪除,只有新的數據返回?
這仍然是造成數據將翻一番。 – Colin747
檢查更新。 – raina77ow
道歉,當我添加你的改變時,我有一個小寫的'D'。它現在按預期工作。謝謝你的幫助! – Colin747