0
我在下面有两个for循环循环JSON文件的函数。我遇到的问题是在barFactory函数中调用的第二个循环中,它仅返回数组中的最后一个项目。我如何解决这个问题,我在每次迭代时都会调用图表对象来创建,所以不应该按照我的逻辑进行操作。JavaScript for循环仅返回数组中的最后一项
var looper = function(sec0, vz, lOrR) {
$('#' + lOrR + 'Title').text(sec0);
for (var i = 0; i < vz[0]['Areas'].length; i++) {
var tText = Object.keys(vz[0]['Areas'][i]);
var root = vz[0]['Areas'][i][tText][0];
barFactory(root, sec0, lOrR, i, tText);
}
function barFactory(sec1, sec0, lOrR, i, tText) {
var dataName;
for (var j = 0; j < sec1[sec0].length; j++) {
charts.title.text = sec1[sec0][j]["Label"];
dataName = sec1[sec0][j]['Metrics'][5]['Rep Res. %'].slice(0, -1);
charts.series[0].name = dataName;
charts.series[0].data = [parseFloat(dataName)];
chart = new Highcharts.Chart(charts);
}
}
}
因此,您尝试为“Areas”数组中的每个项目创建一个新的Highchart。你想用图表做什么?它似乎没有返回它或将它附加到DOM –
我有单独的部分,我没有将其添加到DOM。绘制条形图,但只绘制数组中的最后一个。 – Claude
它不是“返回”任何东西;目前尚不清楚如何在没有更多信息的情况下工作。 '图表'也总是指同一件事情。 –