如何从while循环中获取/获取数组?

时间:2013-06-18 15:43:06

标签: javascript jquery while-loop

我甚至不知道我是否使用正确的术语来描述所有这些,但我正在尝试使用API​​来制作一个非常基本的测试应用程序。这就是我的例子中一些奇怪的词汇来自的地方。

无论如何,这就是我所拥有的,并且控制台日志将每个动物返回到一个大列表中:

        function listAnimals(){
          animals.fetch(function(){
            while(animals.hasNextEntity()) {
              animal = animals.getNextEntity();
              var type = animal.get('animal');
              var name = animal.get('name');
              var gender = animal.get('gender');
              var output = 'type: '+type+', name: '+name+', gender: '+gender;
              console.log(output);
            }  
          });//fetch
        }//listAnimals

但是,我需要能够在while循环之外访问“output”变量。将console.log放在while循环之外只返回1个单独的动物:

        function listAnimals(){
          animals.fetch(function(){
            while(animals.hasNextEntity()) {
              animal = animals.getNextEntity();
              var type = animal.get('animal');
              var name = animal.get('name');
              var gender = animal.get('gender');
              var output = 'type: '+type+', name: '+name+', gender: '+gender;
            }  
            console.log(output);
          });//fetch
        }//listAnimals

如何获得while循环之外的所有“输出”结果,而不只是1?我需要先把它放在一个数组中吗?我怎么做?

1 个答案:

答案 0 :(得分:0)

是的,数组可以正常工作。尝试类似:

function listAnimals(){
    var arr = [];
    animals.fetch(function(){
        while(animals.hasNextEntity()) {
            animal = animals.getNextEntity();
            var type = animal.get('animal');
            var name = animal.get('name');
            var gender = animal.get('gender');
            var output = 'type: '+type+', name: '+name+', gender: '+gender;
            arr.push(output);
        }
    });//fetch
    console.log(arr); // This should print out all of your outputs.
}//listAnimals