Compartilhar via


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

Versão 5

ObservaçãoObservação

Loop sobre coleções requer versão.NET.

Consulte também

Referência

instrução

durante a instrução

String.GetEnumerator

Outros recursos

Matrizes de JScript