Condividi tramite


Istruzione for...in

Esegue una o più istruzioni per ogni proprietà di un oggetto o per ogni elemento di una matrice o di un insieme.

for ( [var] variable in {object | array | collection})
   statement

Argomenti

  • variable
    Obbligatoria. Variabile che può essere qualsiasi nome di proprietà di object, qualsiasi indice di array o qualsiasi elemento di collection.

  • object
    Oggetto JScript su cui eseguire l'iterazione.

  • matrice
    Matrice su cui eseguire l'iterazione. Può essere un oggetto Array di JScript o una matrice .NET Framework.

  • collection
    Un insieme su cui eseguire l'iterazione. Può essere qualsiasi classe che implementi le interfacce IEnumerable o IEnumerator di .NET Framework.

  • statement
    Facoltativo. Istruzioni da eseguire per ogni proprietà di object o per ogni elemento di array o di collection. Può trattarsi di un'istruzione composta.

Note

Prima di ogni iterazione di un ciclo, a variable viene assegnato il successivo nome di proprietà di object, il successivo indice di array o il successivo elemento di collection. È possibile utilizzare variable in qualsiasi istruzione all'interno del ciclo per fare riferimento alla proprietà di object o all'elemento di array.

Quando si esegue l'iterazione su un oggetto, non è possibile determinare o controllare in alcun modo l'ordine in cui i nomi dei membri dell'oggetto vengono assegnati a variable. L'istruzione for...in non può eseguire un ciclo nei membri di oggetti che non sono JScript, quali gli oggetti .NET Framework.

L'iterazione delle matrici avviene in ordine di elemento, a partire dall'indice più piccolo fino a quello più grande. Dal momento che gli oggetti Array di JScript possono trovarsi in punti lontani del codice, l'istruzione for...in accede solo agli elementi definiti della matrice. Gli oggetti Array di JScript possono inoltre avere proprietà expando e in tal caso a variable vengono assegnati indici di matrici come nomi di proprietà. Se la matrice è una matrice .NET Framework multidimensionale, solo la prima dimensione verrà enumerata.

Per quanto riguarda l'iterazione su un insieme, gli elementi vengono assegnati a variable nell'ordine in cui appaiono nell'insieme.

Esempio 1

Nell'esempio seguente viene illustrato l'utilizzo dell'istruzione for ... in con un oggetto utilizzato come matrice 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);
}

Questa funzione restituisce la stringa che contiene gli elementi seguenti.

a:  Athens
b:  Belgrade
c:  Cairo

Esempio 2

In questo esempio viene illustrato l'utilizzo dell'istruzione for ... in con un oggetto Array di JScript che include proprietà expando.

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);
}

Questa funzione restituisce la stringa che contiene gli elementi seguenti.

0:  zero
1:  one
2:  two
orange:  fruit
carrot:  vegetable

Esempio 3

Nell'esempio seguente viene illustrato l'utilizzo dell'istruzione for ... in con un insieme. Il metodo GetEnumerator dell'oggetto System.String fornisce un insieme dei caratteri della stringa.

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);
}

Questa funzione restituisce la stringa che contiene gli elementi seguenti.

0:  T
1:  e
2:  s
3:  t
4:  .

Requisiti

Versione 5

Nota

L'esecuzione di cicli su insiemi richiede Versione .NET.

Vedere anche

Riferimenti

Istruzione for

Istruzione while

String.GetEnumerator

Altre risorse

Matrici JScript