首页 > 解决方案 > 谷歌图表 data.addRows() 可以接受数据文字吗?

问题描述

我有一个谷歌图表,想将数据var mydata添加到 data.AddRow() 中。

<script>
  function drawChart() {
    var data = new google.visualization.DataTable();
    data.addColumn('number', 'one');
    data.addColumn('number', 'two');
    data.addColumn('number', 'three');
    data.addColumn('number', 'four');
    var mydata = '[1,2,3,4],[5,6,7,8],[9,10,11,12]';
    data.addRows([
      mydata
    ]);
    ......
</script>

我在控制台上收到如下错误:

jsapi_compiled_default_module.js:182 Uncaught (in promise) 错误:第 0 行不是空值或数组。

JSON.parse() 在这种情况下也不起作用。我该怎么做才能将数据接受到谷歌图表中?

标签: javascriptgraph

解决方案


你去写了

var mydata = '[1,2,3,4],[5,6,7,8],[9,10,11,12]';

mydata 是一个字符串

将 mydata 定义为列表使用列表(注意左括号和右括号)

var mydata = [ [1,2,3,4],[5,6,7,8],[9,10,11,12] ];

然后使用没有嵌套括号。

data.addRows(mydata);

请注意,mydata = [1,2,3,4],[5,6,7,8],[9,10,11,12](既不是引号,也不是括号)不是有效的 javascipt 语法。


将字符串转换为数组中可用的相关信息(请注意,在您的情况下,您将不得不在内部数组中使用循环)。


推荐阅读