Javascript数组插入for循环

标签 javascript arrays for-loop

我有两个 for 循环,第二个我正在使用 push 到一个名为 myArray 的数组,它没有推送数据想要的。在第二个 for 循环 中将数组返回到控制台输出如下:

["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"]

我怎样才能做到这一点?

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

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);


         }                                            
      }
   }
 }

最佳答案

唯一的原因是您要重新声明数组 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);
        }                                            
    }
});

关于Javascript数组插入for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18988634/

相关文章:

javascript - 使用 d3.js 在树形布局中自定义 html 框

javascript - 解除绑定(bind)滚动功能

c# - 在 JavaScript 和 C# Controller 之间传递数据 : Asp.Net MVC 4 Razor

javascript - 过滤器不是自定义管道 Angular 2 中的函数

swift - 在下面的 Swift 代码中,为什么程序在到达 Break 时退出 while 循环?

javascript - Facebook Flux 文档指出有 "no two-way data bindings"- 这是否意味着它所说的?

javascript - 数组在随机化时添加维度

c# - C# : why is it implicitly by reference? 传入数组参数

javascript - 我如何在秒/没有 jQuery 的情况下从存储在数组中的时间戳中查找并拍摄快照

每个循环的 Java 都被 PMD 标记为 UR 异常