首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >for循环中的Javascript数组推送

for循环中的Javascript数组推送
EN

Stack Overflow用户
提问于 2013-09-25 01:52:57
回答 1查看 17K关注 0票数 1

我在第二个上有两个for loops,我正在使用push到一个名为myArray的数组中,但它没有推送所需的数据。在第二个for loop中将数组返回到控制台将输出以下内容:

代码语言:javascript
复制
["Scottsdale CFS"]
["Scottsdale CFS", "Denver CFS"]
["Warren CFS"]
["Warren CFS", "Millford CFS"]
["Rockaway CFS"]
["Rockaway CFS", "Border CFS"] 

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

代码语言:javascript
复制
["Scottsdale CFS", "Denver CFS", "Warren CFS", "Millford CFS", "Rockaway CFS", "Border CFS"]

我如何才能做到这一点呢?

注意:它显示为这样的原因是因为我正在迭代一个JSON文件,该文件检查第一个中心并检索数组中的数据,然后转到下一个中心并执行相同的操作。问题是每个数组都有两个元素,这就是为什么我尝试将它push到一个数组中。

代码语言:javascript
复制
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);


         }                                            
      }
   }
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-25 02:00:15

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

尝试使用以下代码,

代码语言:javascript
复制
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);
        }                                            
    }
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18988634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档