boucle FOR... IN... |
![]() ![]() See You Why? |
La notion d'objet n'a été abordée que très furtivement dans l'introduction. Cependant, puisque nous en sommes à apprendre l'usage des boucles et plus particulièrement de la boucle FOR... IN..., il serait dommage de ne pas illustrer cette boucle particulière qui permet d'explorer les propriétés d'un objet. Le lecteur qui souhaite passer cette approche peut le faire dès maintenant, mais il serait dommage qu'il n'y revienne pas après l'étude des objets (voir "jvs_230_objet.html").
Nous rappelons donc rapidement la définition d'un objet informatique : "un objet, en informatique, était une entité unique (p.ex. : la moto de GVdK) qui possède des propriétés (p.ex. : constructeur, modèle, immatriculation, propriétaire, couleur...) et sur laquelle on peut appliquer des méthodes (p.ex. : faire_le_plein, vendre, repeindre, faire_la_vidange...)". Peu importe si vous digérez cette définition, mais nous y reviendrons au chapitre 23.
Les tableaux sont un des types d'objets qui existent.
Imaginons donc l'existence d'un tableau (appelé Array en JS) qui serait la liste des élèves dans ma classe de '3RSE'.
Un rappel de la déclaration et de l'affectation des variables (voir "") devrait vous permettre de comprendre ce qui suit :
La déclaration de cette variable objet de type Array devrait se faire ainsi :
var cl3rse = new Array;
mais il ne suffit pas de déclarer la variable, encore faut-il lui affecter une valeur (dans notre cas, il s'agira d'une liste d'élèves) ce qui se fera ainsi :
cl3rse = ["ElifS","FredD","KathiaN","LaetitiaH","MelanieA","SihamF"];
et voilà notre objet 'cl3rse' de type Array déclaré et affecté d'une valeur. Chaque nom dans cette liste serait une propriété de notre objet 'cl3rse'.
Reste à montrer l'usage de la boucle FOR... IN...
La syntaxe en est fort simple :
for var in objet {
// instructions à réaliser;
}
Ce qui, dans notre exemple, pourrait donner :
for eleve in cl3rse {
document.write(cl3rse[eleve]+ "<br>");
}
Avertissement : certains navigateurs n'interprètent pas de façon identique cette boucle FOR... IN... ; c'est pour cette raison que nous la présentons comme une variante de la boucle FOR. En effet, on obtiendrait le même résultat en écrivant la classique boucle FOR suivante, qui elle est stable dans tous les navigateurs :
for(var i = 0; i < cl3rse.length; i++) {
document.write(cl3rse[i]+ "<br>");
}
et, bien sûr, votre variable i aurait pu s'appeler eleve, ce qui aurait donné classiquement :
for(var eleve = 0; eleve< cl3rse.length; eleve++) {
document.write(cl3rse[i]+ "<br>");
}
Et pour être complet, présentons aussi cette boucle particulière "FOR EACH... IN...", quasi identique à celle présentée ci-dessus ; cependant, dans cette boucle, on itère plus sur les indices des objets (tableaux), mais sur les différents éléments du tableau :
La syntaxe en est fort simple :
for each (var in objet) {
// instructions à réaliser;
}
Ce qui, dans notre exemple, pourrait donner :
for each (eleve in cl3rse) {
document.write(eleve+ "<br>");
}
Avertissement : certains navigateurs n'interprètent pas de façon identique cette boucle FOR EACH... IN... ; les utilisateurs intéressés pourraient aller lire les commentaires de ECMA (norme de décembre 2005 : ECMA-357.pdf) et c'est pour cette raison que nous la présentons comme une variante de la boucle FOR. En effet, on obtiendrait le même résultat en écrivant la classique boucle FOR suivante :
for(var i = 0; i < cl3rse.length; i++) {
document.write(cl3rse[i]+ "<br>");
}
et, bien sûr, votre variable i aurait pu s'appeler eleve, ce qui aurait donné classiquement :
for(var eleve = 0; eleve< cl3rse.length; eleve++) {
document.write(cl3rse[eleve]+ "<br>");
}
même s'il est préférable de nommer toute variable compteur par l'une des lettres i, j, k ou un nom qui commence par l'une d'elles i_eleve, par exemple.
voir suite >>>
voir suite >>>
Merci de votre visite à partir de :
| Vous voulez lire quelques messages reçus ? qui ne compte chaque nouvel ordinateur visiteur qu'une seule fois m-à-j du 22/11/2021 : Depuis cette fin septembre 2009, parmi les 210 pays (sur 274 drapeaux connus) qui nous ont visité, voici les 100 pays qui nous visitent le plus, Nos petits visiteurs, classés par date de visite, où un seul ordi nous a visité, sont : 199. Turkmenistan (TM May 10, 2017) ; 200. Lesotho (LS March 1, 2017) ; 201. Turks and Caicos Island (TC January 18, 2016) 202. Cook Islands (CK September 19, 2015) 203. Faroe Islands (FO January 27, 2015) 204. Virgin Islands American (VI November 12, 2014) ; 205. Belize (BZ September 29, 2014) ;206. Eswatini - Swaziland (SZ July 21, 2014) ; 207. Grenada (GD April 3, 2014) ; 208. Timor-Leste (TI March 29, 2014) ; 209. American Samoa (AS December 26, 2012) ; 210. Guyana (GY November 5, 2010). |