У меня есть данные о температуре, влажности и времени, и я могу получить все значения из таблицы базы данных для использования в DataTable. Но я также хочу извлечь последний набор значений из DataTable и распечатать его в console.info.
Я попытался напечатать console.info(data), как показано ниже, и вижу все значения.
<script type = "text/javascript">
google.charts.load('current', {'packages':['corechart', 'line']});
google.charts.setOnLoadCallback(drawLineColors);
function drawLineColors() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'time');
data.addColumn('number', 'Temperature');
data.addColumn('number', 'Humidity');
data.addRows([
<?php
if (mysqli_num_rows($result)>0){
while($row = mysqli_fetch_array($result)){
echo "
['".$row['time']."',".$row['temp'].",".$row['hum']."],";
}
}
?>
]);
console.info(data);
var options = {
hAxis: {
title: 'Time'
},
vAxis: {
title: 'Sensors Scale'
},
colors: ['#a52714', '#097138']
};
var chart = new
google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
Вместо того, чтобы вручную создавать данные json в PHP, просто создайте массив, который выглядит так, как вы хотите, и используйте json_encode(), чтобы преобразовать его в json.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы хотите использовать .getValue(rowIndex, columnIndex) (см. документы).
Таким образом, вы также можете легко выбрать то, что вы хотите, например. вы можете решить, что хотите использовать только значения температуры или влажности, например, а не только всю строку.
let rowIndex = data.getNumberOfRows() - 1; //gets the row index of last row
let lastTime = data.getValue(rowIndex, 0); //gets the first column
let lastTemp = data.getValue(rowIndex, 1); //gets second column
let lastHum = data.getValue(rowIndex,2); //gets third column
console.info(`[${lastTime}, ${lastTemp}, ${lastHum}]`);
Почему бы не просто
console.info(data[data.length-1]);?