我试图通过执行以下操作来操纵hightcharts数据以显示饼图:
<div style="display: none" id="main-data">
<span data-name="Firefox" data-value="45"></span>
<span data-name="IE" data-value="26.8"></span>
</div>
function getPieData() {
var dataArr = [];
$('#main-data span').each(function() {
var name = $(this).data("name");
var value = $(this).data("value");
dataArr.push(name);
dataArr.push(value);
});
return dataArr;
}
var dataArr = [['Firefox',45.0],['IE',26.8]];
var dataArr1 = getPieData();
如果我使用dataArr,图表显示正常。但是如果我使用dataArr1,它只显示1条垂直线。我试图打印出两个dataArr并看到它们都完全格式化。如何修复dataArr1以像dataArr那样显示饼图?
答案 0 :(得分:0)
使用函数(dataArr1
)创建的数组是一维的,而手动实例化的数组(dataArr
)是二维的。它必须是二维的才能包含名称 - 值对。
在示例的最后,您的数组包含以下内容:
dataArr = [['Firefox', 45.0], ['IE', 26.8]];
dataArr1 = ['Firefox', 45, 'IE', 26.8];
您需要在getPieData()
函数内将数组推送到数组中。例如:
function getPieData() {
var dataArr = [];
$('#main-data span').each(function() {
var name = $(this).data("name");
var value = $(this).data("value");
dataArr.push([name, value]);
});
return dataArr;
}