我甚至不知道我是否使用正确的术语来描述所有这些,但我正在尝试使用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?我需要先把它放在一个数组中吗?我怎么做?
答案 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