将输出添加到每个for循环的数组中

时间:2019-04-29 21:49:20

标签: javascript

我正在尝试使用for循环调用REST API,并将输出存储到数组中。但是对于每个其余的API调用,输出显示为不同的数组,而不是一个数组中的所有内容

for each (name in car.cars){

for(i=0; i<count;i++){
    var arr = [];
    var newid = car.cars[i].name;
    var url = "myhost"
    var method = "GET"
var response = "output from REST call"
 arr.push(response)
}
}

2 个答案:

答案 0 :(得分:0)

  

但是对于每个其余的API调用,输出显示为不同的数组,而不是一个数组中的所有内容

“输出”在哪里,代码中什么也没有。

您的问题是,您在var arr = [];循环中声明了for。 在循环开始之前初始化数组,然后将响应添加到该数组中。

代替您为for(i=0; i<count;i++)的每次迭代创建一个新数组

答案 1 :(得分:0)

退后一步,再次查看您的代码。您在哪里声明数组?在循环内部。

接下来,问问自己;该数组的范围是什么?仅在循环内。即使只是在外部循环中,它也不会停留在周围,因为一旦循环结束,数组就会消失。

创建数组并从循环之外(它们都使用)使用它。

进一步阅读:Declaring variables inside or outside of a loop

更新4/30/2019:感谢@AuxTaco,我剔除了我对JS范围的不准确描述。请查看他评论中的链接,以获取更多有关此内容的阅读!