我正在尝试使用Google Charts API创建一个动态赋值的图表。以下代码应该采用一组值并使用它们填充图表,而是挂起并终止页面。我假设for循环没有结束 - 但我无法弄清楚出了什么问题。
有什么想法吗?
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
function drawChart(values) {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Value');
data.addRows(values.length);
for(i=0; i <= values.length; i+3) {
data.setValue(values[i], values[i+1], values[i+2]);
}
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240, legend: 'none', gridlineColor: '#fff', chartArea:{left:0,top:20}});
}
function stockFractal(){
}
</script>
答案 0 :(得分:2)
您没有在for循环中递增i
变量;您希望i+=3
不是i+3
。
for (i=0; i <= values.length; i+=3)
答案 1 :(得分:1)
你是对的,循环永远不会终止。
那是因为:
for(i=0; i <= values.length; i+3) {
不会增加i
。它只是创建一个值,这是将3
添加到i
的结果...然后丢弃该值。
您的意思似乎也可能是<
,而不是<=
,因为数组索引从0
转到values.length - 1
。
我还建议使用var
。
写:
for (var i = 0; i < values.length; i = i + 3) {
或只是:
for (var i = 0; i < values.length; i += 3) {
答案 2 :(得分:0)
for(i=0; i <= values.length; i+3) {
真的应该读到:
for(i=0; i <= values.length; i=i+3) {