Share via


for...in, instruction

Exécute une ou plusieurs instructions pour chaque propriété d'un objet ou chaque élément d'un tableau ou d'une collection.

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

Arguments

  • variable
    Obligatoire. Variable pouvant représenter n'importe quel nom de propriété de object, n'importe quel index de array ou n'importe quel élément de collection.

  • object
    Objet JScript sur lequel vous souhaitez effectuer une itération.

  • tableau
    Tableau sur lequel vous souhaitez effectuer une itération. Cela peut être un objet JScript Array ou un tableau .NET Framework.

  • collection
    Collection sur laquelle vous souhaitez effectuer une itération. Cela peut être toute classe qui implémente les interfaces IEnumerable ou IEnumerator à partir du .NET Framework.

  • statement
    Facultatif. Instructions à exécuter pour chaque propriété de object ou chaque élément de array ou de collection. Il peut s'agir d'une instruction composée.

Notes

Avant chaque itération d'une boucle, le nom de propriété suivant de object, l'index suivant de array ou l'élément suivant de collection est assigné à l'argument variable. Vous pouvez utiliser variable dans n'importe laquelle des instructions incluses dans la boucle pour référencer la propriété de object ou l'élément de array.

Lors d'une itération sur un objet, il n'existe aucun moyen de déterminer ou de contrôler l'ordre dans lequel les noms de membres de l'objet sont assignés à l'argument variable. L'instruction for...in ne permet pas d'effectuer une boucle sur les membres d'objets non-JScript, tels que les objets .NET Framework.

L'itération s'effectue sur les tableaux dans l'ordre des éléments, du plus petit index au plus grand. Comme les objets JScript Array peuvent être creux, l'instruction for...in accède uniquement aux éléments définis du tableau. Les objets JScript Array peuvent également disposer de propriétés expando, auquel cas des index de tableau sont assignés à l'argument variable en tant que noms de propriétés. Si le tableau est un tableau .NET Framework multidimensionnel, seule la première dimension est énumérée.

Pour une itération sur une collection, les éléments sont assignés à variable dans l'ordre où ils apparaissent dans la collection.

Exemple 1

L'exemple ci-dessous illustre l'utilisation de l'instruction for…in avec un objet utilisé comme tableau associatif.

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

Cette fonction retourne la chaîne qui contient les éléments suivants :

a:  Athens
b:  Belgrade
c:  Cairo

Exemple 2

Cet exemple illustre l'utilisation de l'instruction for…in avec un objet Array JScript doté de propriétés 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);
}

Cette fonction retourne la chaîne qui contient les éléments suivants :

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

Exemple 3

L'exemple ci-dessous illustre l'utilisation de l'instruction for…in avec une collection. Dans cet exemple, la méthode GetEnumerator de l'objet System.String fournit une collection des caractères dans la chaîne.

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

Cette fonction retourne la chaîne qui contient les éléments suivants :

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

Configuration requise

Version 5

Notes

Pour effectuer des boucles sur des collections, Version .NET est requis.

Voir aussi

Référence

for, instruction

while, instruction

String.GetEnumerator

Autres ressources

Tableaux JScript