Microsoft® JScript™
Tableaux
 Didacticiel JScript 
 Précédent | Suivant 


Indexation de tableau
Dans JScript, les tableaux sont creux. Cela signifie que si vous avez un tableau avec trois éléments numérotés 0, 1 et 2, vous pouvez créer l'élément 50 sans avoir à vous soucier des éléments 3 à 49. Si le tableau possède une variable de longueur automatique (voir Objets intrinsèques pour plus d'informations sur la définition automatique de la longueur d'un tableau), elle est définie à 51, et non pas à 4. Vous pouvez créer des tableaux avec numérotation suivie des éléments, mais cela n'est pas obligatoire. En fait, dans JScript, les tableaux ne doivent pas contenir d'indices numérotés.

Dans JScript, les objets et les tableaux sont presque identiques, la seule différence ne résidant pas dans les données, mais dans la façon dont vous adressez les membres d'un tableau ou les propriétés et méthodes d'un objet.

Adressage des tableaux
Il existe deux façons d'adresser les membres d'un tableau. Vous pouvez utiliser des crochets qui renferment soit une valeur numérique, soit une expression correspondant à un entier non négatif. Dans l'exemple suivant, nous supposons que la variable Nomentr est définie et qu'une valeur lui a été attribuée à un autre endroit du script.

LaListe = agenda[Nomentr];
PremiereLigne = LaListe[1];
Cette méthode d'adressage est équivalente à celle mise en oeuvre pour adresser des objets, bien que dans cette dernière, le nom d'une propriété effective doit suivre le point. Si aucune propriété n'est spécifiée, le code génère une erreur.

La deuxième façon d'adresser les membres d'un tableau consiste à créer un objet/tableau contenant des propriétés qui sont numérotées et de générer les nombres dans une boucle. L'exemple suivant génère deux tableaux, un pour le nom et un pour l'adresse, à partir de la liste de l'agenda. Chaque tableau contient quatre propriétés. Ainsi, une occurrence de LeNom établie à partir des propriétés [Nom1] à [Nom4] de LaListe pourra contenir "G." "Edouard" "Hermere" "IV" ou "George" "" "Sand" "".

LaListe = agenda[Nomentr];
for (i = 1; i < 4; i++)  {
LeNom[i] = LaListe["Nom" + i];
Adresse[i] = LaListe["Adresse" + i];
}
Bien que cette occurrence soit courte et aurait très bien pu être écrite suivant la notation par "point", (à savoir, par adressage de LaListe, LeNom et Adresse comme objets et non comme tableaux), il arrive parfois que la propriété spécifique n'existe pas tant que le script n'est pas exécuté, ou qu'il n'y ait aucun moyen de savoir à l'avance de quelle propriété il s'agira. Par exemple, si le tableau agenda était classé par nom de famille plutôt que par numéro, vous saisiriez sans doute des noms au hasard pendant l'exécution du script pour consulter la liste des personnes figurant dans l'agenda. Dans l'exemple suivant, nous supposons que des définitions de fonction appropriées sont utilisées à un autre endroit du script.

LaListe = agenda[RechNom()];
ListeIndividuelle = LaListe[RechPrenom()];
Ceci est un exemple d'adressage associatif du tableau, utilisant des chaînes purement arbitraires. Dans JScript, les objets sont en fait des tableaux associatifs. Bien que vous puissiez utiliser (et que vous le fassiez effectivement souvent) la méthode d'adressage par "point", vous n'y êtes pas obligé.

© 1998 Microsoft Corporation. Tous droits réservés.