2017-03-03 107 views
2

我在代碼中有一個morris圖表。我想從下面的循環中設置數據。 for循環不起作用。從一個數組通過for循環的Morris圖表數據

var TicketInfo = 
[{ 
     for(i = 0; i < data_json.RESULT.length; i++){ 
      y: 'total', 
      a: data_json.RESULT[i].total_cus, 
      b: data_json.RESULT[i].new_total_cus 
     } 
     }] 
    Morris.Bar({ 
     element: 'morris-bar-chart', 
     data: TicketInfo, 
     xkey: 'y', 
     ykeys: ['a','b'], 
     labels: ['abc','xyz'], 
     hideHover: 'auto', 
     resize: true 
    }); 

請幫我實現這一點。

回答

2

只需製作需要的對象並使用它。

var morrisData = []; 

$.each(data, function(key, val){ 
    morrisData.push({'index': key, 'Value' : val}); 
}); 

現在你將有一個對象,它看起來像這樣:

[ 
    { 'index' : 2, 'Value' : 25 }, 
    { 'index' : 3, 'Value' : 19 } 
    { 'index' : 4, 'Value' : 6 } 
] 

等等......

然後,你可以簡單地調用Morrisand傳遞數據:morrisData

Morris.Bar({ 
    ... 
    data:morrisData 
    ... 
});