我有一个javascript字符串,其中包含" arrayToDataTable"的所有数据。
var pieData = "['Red', 3], ['Blue', 6] , ['Green', 8]";
我的饼图:
function drawPieChart() {
var data = google.visualization.arrayToDataTable([
['Team', 'Votes'],
pieData
]);
var options = {
sliceVisibilityThreshold: 0,
width: 620,
height: 300,
};
var chart = new google.visualization.PieChart(document.getElementById('pieChart'));
chart.draw(data, options);
}
运行该函数时,将呈现以下错误"行0和#34的无效类型;
是否有一些简单的方法可以使字符串pieData可用于arrayToDataTable?
答案 0 :(得分:1)
其中一个解决方案是使用eval()
来评估字符串中的表达式作为JavaScript代码。有关此功能的更多信息可用here。
<强>解决方案强>
function drawPieChart() {
var pieData = "['Red', 3], ['Blue', 6] , ['Green', 8]";
var dataArray = [
['Team', 'Votes']
];
var newDataArray = dataArray.concat(eval("[" + pieData + "]"));
var data = google.visualization.arrayToDataTable(newDataArray);
var options = {
sliceVisibilityThreshold: 0,
width: 620,
height: 300,
};
var chart = new google.visualization.PieChart(document.getElementById('pieChart'));
chart.draw(data, options);
}
将String计算为JavaScript表达式后,数组将连接到dataArray
以形成新图表的数据数组。