Javascript数组推入for循环

时间:2013-09-24 17:52:57

标签: javascript arrays for-loop

我在第二个for loops上使用了push myArray到一个名为for loop的数组,它并没有推送所需的数据。在第二个["Scottsdale CFS"] ["Scottsdale CFS", "Denver CFS"] ["Warren CFS"] ["Warren CFS", "Millford CFS"] ["Rockaway CFS"] ["Rockaway CFS", "Border CFS"] 中将数组返回到控制台输出以下内容:

["Scottsdale CFS", "Denver CFS", "Warren CFS", "Millford CFS", "Rockaway CFS", "Border CFS"]

但是,我希望数据显示如下:

push

我该如何做到这一点?

注意:它出现的原因是因为我正在遍历一个JSON文件,该文件检查第一个中心并检索数组中的数据,然后转到下一个并执行相同的操作。问题是每个数组都有两个元素,这就是我试图var looper = function(sec0, vz, lOrR) { var myArray = []; 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]; var dataName; } var myArray = []; if(sec0 === "Centers") { for(var j=0;j<root[sec0].length;j++){ var myString = root[sec0][j]["Label"]; myArray.push(myString); charts.chart.renderTo = lOrR+myArray.indexOf(root[sec0][j]["Label"]); charts.title.text = root[sec0][j]["Label"]; dataName = root[sec0][j]['Metrics'][5]['Rep Res. %'].slice(0,-1); charts.series[0].name = dataName; charts.series[0].data = [parseFloat(dataName)]; new Highcharts.Chart(charts); } } } } 成为一个数组的原因。

{{1}}

1 个答案:

答案 0 :(得分:4)

唯一的原因是您要重新声明数组var myArray = [];

尝试使用以下代码

var looper = function(sec0, vz, lOrR) {                                
    var myArray = [];

    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];                         
        var dataName;
    }    
    if(sec0 === "Centers") {
        for(var j=0;j<root[sec0].length;j++){
            var myString = root[sec0][j]["Label"];
            myArray.push(myString);
            charts.chart.renderTo = lOrR+myArray.indexOf(root[sec0][j]["Label"]);   
            charts.title.text = root[sec0][j]["Label"];
            dataName = root[sec0][j]['Metrics'][5]['Rep Res. %'].slice(0,-1); 
            charts.series[0].name = dataName;    
            charts.series[0].data = [parseFloat(dataName)];
            new Highcharts.Chart(charts);
        }                                            
    }
});