Google 图表 - arrayToDataTable 不是数组错误

Google Chart - arrayToDataTable not an array error

我在 nodejs 中有一个后端,它生成一个数组并调用一个 javascript 函数来绘制图形。

var data = google.visualization.arrayToDataTable(value)

我遇到未捕获错误的问题:

正在打印变量 value 我有:

 [ [ 'ml', 'date' ],
  [ 'Sun Nov 24 2019 13:30:00 GMT-0200 (Brasilia Summer Time)',
    481 ],
  [ 'Sun Nov 24 2019 14:00:00 GMT-0200 (Brasilia Summer Time)',
    571 ] ]

阅读类似的帖子 Google Chart - uncaught error: not an array 我试过:

var data = google.visualization.arrayToDataTable(JSON.parse(values));

但我收到以下错误:

如果我硬编码 它工作很好:

var values = google.visualization.arrayToDataTable([
    ['ml','date'],
    ['Sun Nov 24 2019 13:30:00 GMT-0200 (Brasilia Summer Time)',481 ],
    ['Sun Nov 24 2019 14:00:00 GMT-0200 (Brasilia Summer Time)',571 ]
]);

var data = google.visualization.arrayToDataTable(values);

我看不出从硬编码打印变量有什么不同。

有什么想法吗?

数组很可能作为字符串传递。
如果是这样,您需要使用 --> JSON.parse

但您需要将单引号 (') 换成双引号 (")

请参阅以下有效的代码片段...

var test = JSON.parse('[["ml","date"],["Sun Nov 24 2019 13:30:00 GMT-0200 (Brasilia Summer Time)",481 ],["Sun Nov 24 2019 14:00:00 GMT-0200 (Brasilia Summer Time)",571 ]]');
console.log(test);

虽然这段代码没有...

var test = JSON.parse("[['ml','date'],['Sun Nov 24 2019 13:30:00 GMT-0200 (Brasilia Summer Time)',481 ],['Sun Nov 24 2019 14:00:00 GMT-0200 (Brasilia Summer Time)',571 ]]");
console.log(test);