2017-03-03 108 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 
    ... 
});