在$ .getJSON调用的回调内部,我具有下面概述的代码。第一个for块聚合“总计”,并将值分配给sov [i]。地图功能计算总数的百分比。然后,我实例化一个名为sovData的变量。
使用jQuery Flot图,任何空对象都不会添加到饼图中,因此最多可用于7个不同的切片/数据集。我只想初始化所需的对象(例如,sovData最多可以在其中包含'howMany-1'(kws.length -1)对象,可能是通过类似于仪表盘[i]和sov [ i]。我该怎么做?
码:
var sov = [], howMany = kws.length, total = 0, i = 0;
for ( i; i < howMany; i++) {
total += sov[ i ] = +parseInt(data.sov['sov' + ( i+1 ) ],10) || 0;
}
var dashboards = data.dashboards;
sov = $.map( sov, function(v) {
var s = Math.round( ( (v / total) * 10e3 ) / 100);
return s < 1 ? 1 : s;
});
var sovData = [{
label : dashboards[0],
data : sov[0]
},
{
label : dashboards[1],
data : sov[1]
},
{
label : dashboards[2],
data : sov[2]
},
{
label : dashboards[3],
data : sov[3]
},
{
label : dashboards[4],
data : sov[4]
},
{
label : dashboards[5],
data : sov[5]
},
{
label : dashboards[6],
data : sov[6]
}
]
最佳答案
采用
var sovData = [];
for (var i = 0; i < howMany-1; i++) {
sovData.push({
label: dashboards[i],
data: sov[i]
});
}
理论演示:http://jsfiddle.net/gaby/qN3WY/