如何在JavaScript中获取Google DataTable的最后一行?

时间:2019-05-12 11:25:53

标签: javascript php arrays google-visualization

我有温度,湿度和时间数据,可以从数据库表中获取所有值以用于DataTable。但是我也想提取出DataTable中的最后一组值并将其打印在console.log中。

我尝试如下所示打印console.log(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.log(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>

1 个答案:

答案 0 :(得分:1)

您要使用.getValue(rowIndex, columnIndex)(请参阅docs)。

通过这种方式,您还可以轻松选择所需的内容,例如您可能会决定只想使用温度或湿度值,而不仅仅是整个行。

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.log(`[${lastTime}, ${lastTemp}, ${lastHum}]`);