loop for... na instrução
Executa uma ou mais instruções para cada propriedade de um objeto ou a cada elemento de uma matriz ou coleção.
for ( [var] variable in {object | array | collection})
statement
Argumentos
variable
Obrigatório. Uma variável que pode ser qualquer nome de propriedade de objeto, qualquer índice de matriz, ou qualquer elemento de collection.object
Um objeto JScript através da qual iterar.matriz
Uma matriz na qual iterar. Pode ser um JScript Array objeto ou um.NET Framework array.collection
Uma coleção na qual iterar. Pode ser qualquer classe que implementa o IEnumerable ou IEnumerator interfaces da.NET Framework.instrução
Opcional. Instruções a serem executadas para cada propriedade do objeto ou a cada elemento da matriz ou collection. Pode ser uma declaração composta.
Comentários
Antes de cada iteração de um loop, variável é atribuído o próximo nome de propriedade de objeto, o próximo índice do matriz, ou o próximo elemento da collection. Você pode usar variável em qualquer uma das instruções dentro do loop para fazer referência a propriedade de objeto ou o elemento de matriz.
Durante a iteração sobre um objeto, não há nenhuma maneira de determinar ou controlar a ordem na qual os nomes de membro do objeto são atribuídos a variável. O instrução defor...in não é possível loop sobre os membros de objetos não JScript, como.NET Framework objetos.
Arrays são iterados na ordem dos elementos, começando com o menor índice e terminando com o maior índice. Porque JScript Array os objetos podem ser esparsos, o for...in instrução acessa somente os elementos definidos do array. JScript Array objetos também podem ter propriedades expando, caso em que variável é atribuída a índices da matriz como nomes de propriedade. Se a matriz é um multidimensional.Matriz do NET Framework, somente a primeira dimensão é enumerada.
Para a iteração em uma coleção, os elementos são atribuídos a variável na ordem em que aparecem na coleção.
Exemplo 1
O exemplo a seguir ilustra o uso de para... em declaração de um objeto usado como uma matriz associativa.
function ForInDemo1()
{
// Initialize the object.
var obj = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}
// Iterate over the properties and create the string result.
var s = ""
for (var key in obj)
{
s += key + ": " + obj[key];
s += "\n";
}
return (s);
}
Esta função retorna a seqüência de caracteres que contém o seguinte.
a: Athens
b: Belgrade
c: Cairo
Exemplo 2
Este exemplo ilustra o uso de para... em instrução com um JScript Array objeto que tem expando propriedades.
function ForInDemo2()
{
// Initialize the array.
var arr = new Array("zero","one","two");
// Add a few expando properties to the array.
arr["orange"] = "fruit";
arr["carrot"] = "vegetable";
// Iterate over the properties and elements
// and create the string result.
var s = "";
for (var key in arr)
{
s += key + ": " + arr[key];
s += "\n";
}
return (s);
}
Esta função retorna a seqüência de caracteres que contém o seguinte.
0: zero
1: one
2: two
orange: fruit
carrot: vegetable
Exemplo 3
O exemplo a seguir ilustra o uso de para... em instrução com uma coleção. Aqui, o GetEnumerator método de System. String objeto fornece um conjunto de caracteres na seqüência de caracteres.
function ForInDemo3()
{
// Initialize the collection.
var str : System.String = "Test.";
var chars : System.CharEnumerator = str.GetEnumerator();
// Iterate over the collection elements and
// create the string result.
var s = "";
var i : int = 0;
for (var elem in chars)
{
s += i + ": " + elem
s += "\n";
i++;
}
return(s);
}
Esta função retorna a seqüência de caracteres que contém o seguinte.
0: T
1: e
2: s
3: t
4: .
Requisitos
Observação |
---|
Loop sobre coleções requer versão.NET. |