2015-01-20 15 views
1

我开始在javascript上阅读本地json文件,并试图把它放到谷歌图表中,但我遇到了一个while循环的问题,如下面在我的错误中所述评论。 Var c调用一个函数来计算json文件中的数据行。JavaScript与JSON和谷歌图表使用while循环

function drawChart() { 
    var soData = JSON.parse(staffOrders); 
    var i = 0; 
    var c = getRowCount(); //returns 5 

    // Create the data table. 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'Staff'); 
    data.addColumn('number', 'Orders Filled'); 
    //works 
    //data.addRows([ 
     //['John', 3], 
     //['Tommy', 1], 
     //['Ken', 1], 
     //['Sally', 1], 
     //["Missy", 2] 
    //]); 

    //works 
    data.addRows([ 
     [soData[0].staffName, Number(soData[0].orders)], 
     [soData[1].staffName, Number(soData[1].orders)], 
     [soData[2].staffName, Number(soData[2].orders)], 
     [soData[3].staffName, Number(soData[3].orders)], 
     [soData[4].staffName, Number(soData[4].orders)] 
    ]); 

    //***error - below doesn't render 
    //also need to remove comma in last row as it isn't needed 
    //data.addRows([ 
     //while (i <= c) { 
      //[soData[i].staffName, Number(soData[i].orders)], 
      //i++; 
     //} 
    //]); 

回答

0

你的代码试图发送一个while循环到data.addRows()中。将函数调用移入while循环中

while (i <= c) { 
    data.addRows([[soData[i].staffName, Number(soData[i].orders)]]); 
    i++; 
} 
+0

没有运气 - 仍然没有渲染;我以不同的方式早些时候尝试过。 – wl2m 2015-01-20 20:47:29

+0

您的控制台是否会抛出任何错误? – hakeemon 2015-01-20 22:38:50

+0

没有错误;只是不显示任何东西 – wl2m 2015-01-21 22:30:13