Как получить последнюю строку Google DataTable в javascript?

У меня есть данные о температуре, влажности и времени, и я могу получить все значения из таблицы базы данных для использования в 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>

Почему бы не просто console.info(data[data.length-1]);?

dWinder 12.05.2019 13:40

Вместо того, чтобы вручную создавать данные json в PHP, просто создайте массив, который выглядит так, как вы хотите, и используйте json_encode(), чтобы преобразовать его в json.

M. Eriksson 12.05.2019 13:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
349
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы хотите использовать .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}]`);

Другие вопросы по теме