Dynamiczna tablica Javascript

0

Cześć,

Mam problem. Otóż posiadam pewną bazę danych w JSON. Jeśli odnoszę się do niej ręcznie wszystko jest ok. Natomiast jeśli chcę, aby do stworzonej pustej tablicy dodawało elementy dynamiczne, w forze (chodzi, żeby na pewnych warunkach elementy były dodawane) pojawia się błąd. Dowodem poprawności jest google chart, którego używam. Oto skrypty:

Skrypt z danymi do wykresy google DZIALAJĄCY

objectJSON = <<<< Zwykle dane >>>>
 temperature_data = 
		[	['time','temp'],
		 	[objectJSON[4]['datetime'],objectJSON[4]['temperature']],
			[objectJSON[7]['datetime'],objectJSON[7]['temperature']],
			[objectJSON[10]['datetime'],objectJSON[10]['temperature']],
			[objectJSON[13]['datetime'],objectJSON[13]['temperature']],
			[objectJSON[16]['datetime'],objectJSON[16]['temperature']],
			[objectJSON[19]['datetime'],objectJSON[19]['temperature']],
			[objectJSON[22]['datetime'],objectJSON[22]['temperature']]
		 ];

 function drawChart() {
        var data = google.visualization.arrayToDataTable(temperature_data);
.......
}

Skrypt NIE DZIAŁAJĄCY

       temperature_data = [['time','temp']];
	var j = 0;
	for (var i = 0;i<objectJSON.lenght;i++){
	
		if (objectJSON[i]['sensor_id'] == 64){
			j=j+1;
			//temperature_data[j][0] = objectJSON[i]['datetime'];
			//temperature_data[j][1] = objectJSON[i]['temperature'];
			var temp = [objectJSON[i]['datetime'],objectJSON[i]['temperature']];
			temperature_data.push(temp);
		}
	}
/* 1. POWYŻEJ SĄ DWA SPOSOBY DODAWANIA WG MNIE RÓWNOZNACZNE, ALE ZOSTAWIŁEM Z PUSH
2. WARUNEK W IF'IE JEST NA BANK DOBRY, BO ODNOSZĘ SIĘ TAK SAMO JAK DO POZOSTAŁYCH KLUCZY I PRZEGLĄDARKA JE WIDZI */
 function drawChart() {
        var data = google.visualization.arrayToDataTable(temperature_data);
..............
}

EDIT 1:/ Proszę wybaczyć, z pośpiechu zapomniałem... BŁĄD: "Data column(s) for axis #0 cannot be of type string"

1

Sprawdziłeś linię z błędem? Wrzuć sobie w console.log() wygenerowaną tablicę i porównaj z tą utworzoną ręcznie - jak masz opis błędu to już z górki - przekazywane dane mają w którymś miejscu błędny typ.

0

Dobra, znalazłem rozwiązanie w internecie. Po prostu moj JSONowski objekt byl postrzegany jakby mial 0 kluczy. Musiałem użyć funkcji: Object.keys(objectJSON).length.

Dziękuję za zainteresowanie i pozdrawiam :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1