Exercice 13/31

Soit la variable tableau qui contient un tableau avec des noms de villes.

Dans le fichier "script.js" :

  • déclarez les variables i et longueur;
  • affectez la longueur de tableau à longueur;
  • écrivez une boucle for comme dans la description de l'exercice;
  • utilisez alert() pour afficher chaque élément du tableau;
  • cliquez sur "Soumettre ma réponse".

Leçon 13/31

Dans cet exercice, vous allez parcourir un tableau en utilisant une boucle.

Quelle type de boucle utiliser ?

Les boucles while et for permettent de parcourir un tableau. Mais la boucle for semble plus logique à utiliser.
La boucle for utilise forcément un itérateur (le i++) et c'est avec cet itérateur que l'on va parcourir le tableau.

Exemple :

var tableau = ['banane','fraise','pomme'];
var i;
var longueur = tableau.length; // On récupère la longueur une fois pour toute ici car la longueur ne changera pas.
for (i = 0; i < longueur; i++)
&#123;
    alert(tableau[i]);
}

Dans l'exemple, la boucle affiche l'élément du tableau dont l'index (et donc la position dans le tableau) correspond à i, et ce tant que i est inférieur à la longueur du tableau (et donc au nombre d'éléments contenus dedans).

Ici le tableau a une longueur de 3 (car trois éléments), comme i par de zéro pour correspondre à l'index du premier élément, il suffit d'indiquer strictement inférieur à la longueur du tableau.

La boucle fera donc trois itérations avec i = 0, i= 1, i = 2.

Commentaires les mieux notés

42 Commentaires

  • joelmativat-94

    joelmativat-94

    mais c'est du grand n'importe quoi ce truc !! J'ai juste placé mon "var i" tout en haut, au dessus de "var tableau" (avec Alt + flèche du haut) et tout fonctionne o.O Pfff. n'importe quoi

    le 08/06/2022 à 11h29

  • joelmativat-94

    joelmativat-94

    je comprends pas, j'ai essayé de déclarer la variable après la variable longueur (mon 1er message d'hier) vous m'avez répondu "vous devez déclarer la variable i avec le mot clé clé var au moment de la création de la boucle for." ce que j'avais déjà tenté. sinon, peut-être que j'ai mal compris ce qu'il faut faire

    le 08/06/2022 à 11h25

  • meriam

    meriam Admin

    Bonjour, votre code fonctionne correctement.

    le 13/06/2022 à 10h49

  • joelmativat-94

    joelmativat-94

    Bonjour Meriem, j'avais essayé comme ca aussi : for (var i = 0; i < longueur; i++); Mais la il me dit que je n'ai "pas déclaré la variable i". Pourtant ca fonctionne, quand j'active le JS

    le 08/06/2022 à 09h30

  • meriam

    meriam Admin

    Bonjour, il faut que vous supprimer le point-virgule que avez placé aprés la condition de la boucle for.

    le 08/06/2022 à 11h01

  • meriam

    meriam Admin

    Pour i, d'aprés l'énoncé il faut déclarer cette variable aprés la déclaration de longueur.

    le 08/06/2022 à 11h03

  • joelmativat-94

    joelmativat-94

    Bonjour Meriam, peux tu m'aider stp ? il me dit "le corps de la boucle doit comporter une instruction" var longueur = tableau.length; var i; for(i = 0; i<longueur; i++); &#123; alert(tableau[i]); }

    le 07/06/2022 à 17h23

  • meriam

    meriam Admin

    Bonjour joel, vous devez déclarer la variable i avec le mot clé clé var au moment de la création de la boucle for.

    le 07/06/2022 à 18h52

  • abdo7219

    abdo7219

    Bonjour ca ne marche pas avec mon code portant il est correcte var tableau = ['paris', 'tokyo', 'strasbourg']; var i; var longueur = tableau.length; for (i = 0; i < longueur; i++); &#123;alert(tableau[i]);}

    le 13/04/2022 à 11h00

  • meriam

    meriam Admin

    Bonjour, déclarez la variable i avec le mot clé var au moment de la création de la boucle.

    le 14/04/2022 à 12h51

  • aoudeche.amina1-26

    aoudeche.amina1-26

    Bonjour, je ne trouves pas mon erreur pouvez-vous m’aider svp

    le 30/03/2022 à 16h59

  • meriam

    meriam Admin

    Au niveau de la 2ème ligne, il faut supprimer le signe = ==> remplacez var i = ; par var i ;

    le 05/04/2022 à 19h35

  • layediole88-29

    layediole88-29

    Mon code: var i=0,longueur=tableau.length-1; for(i=0; i<=longueur; i++) &#123; alert(tableau[i]);}

    le 11/12/2021 à 16h41

  • meriam

    meriam Admin

    var tableau = ['paris', 'tokyo', 'strasbourg'] var i; var longueur = tableau.length;// On récupère la longueur une fois pour toute ici car la longueur ne changera pas. for (i = 0; i < longueur; i++) { alert(tableau[i]);}

    le 13/12/2021 à 13h13

  • layediole88-29

    layediole88-29

    Pourquoi vous ne mettez pas pour longueur, longueur=tableau.length-1; ?? Vous mettez juste longueur=tableau.length;

    le 11/12/2021 à 16h37

  • meriam

    meriam Admin

    Bonjour, pour récupérer la longueur d'un tableau ==> nom-tableau.length

    le 13/12/2021 à 13h11

  • meriam

    meriam Admin

    Pour récupérer le contenu du dernier élément d'un tableau ==> nom-tableau[length-1]

    le 13/12/2021 à 13h12

  • Tiphaine.juquel-27

    Tiphaine.juquel-27

    Bonjour, j'ai un soucis au niveau du code. ça m'a l'air correcte, mais pourtant il m'indique une erreur mais je ne vois pas laquelle.

    le 28/11/2021 à 14h12

  • meriam

    meriam Admin

    Bonjour, au niveau de la déclaration de la boucle, il faut séparer les conditions par un point-virgule ;

    le 29/11/2021 à 00h04

  • nad-51

    nad-51

    Toujours le message : Boucle Infinie

    le 01/10/2021 à 12h53

  • meriam

    meriam Admin

    Bonjour, remplacer ce code #123; avec l'accolade ouvrante.

    le 01/10/2021 à 15h18

  • stephane.rodriguez777-81

    stephane.rodriguez777-81

    Autant pour moi !!

    le 11/02/2021 à 16h15

  • stephane.rodriguez777-81

    stephane.rodriguez777-81

    Bonjour, j'ai supprimé le point-virgule après l'accolade mais je n'arrive toujours pas à le valider.

    le 11/02/2021 à 12h47

  • meriam

    meriam Admin

    Bonjour, le point virgule existe encore.

    le 11/02/2021 à 14h16

  • stephane.rodriguez777-81

    stephane.rodriguez777-81

    Bonjour, pouvez m'aidez car mon code fonctionne mais je n'arrive pas à le valider.

    le 10/02/2021 à 11h34

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le point virgule ; aprés l'accolade ouvrante de la boucle for .

    le 10/02/2021 à 14h16

  • sbrahimcode-99

    sbrahimcode-99

    Je ne comprend pas mon code est valide alors qu'il ne le devrait pas pour moi. la reponse de alert est paris, sauf que je devrais avoir les 3 villes si i doit etre de la valeur de longueur... : var tableau = ['paris', 'tokyo', 'strasbourg'] var longueur = tableau.length var i for (i=0; i < longueur; i++) &#123; alert(tableau[i]); }

    le 22/01/2021 à 15h58

  • meriam

    meriam Admin

    Il faut cliquer sur le bouton ok pour passer à la ville suivante.

    le 22/01/2021 à 21h01

  • alan.perreira-37

    alan.perreira-37

    Bonjour, vous pouvez me dire ou est mon erreur car j'ai pas l'impression de m'être trompé mon code : var i; var longueur = tableau.length; for (i = 0; i < longueur; i++) &#123; alert(tableau[i]); }

    le 08/08/2018 à 11h48

  • mram

    mram Admin

    Bonjour, quel message d'erreur avez-vous exactement ?

    le 13/08/2018 à 00h13

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Parcourir un tableau</title> <script src="script.js"></script> </head> <body> </body> </html>
var tableau = ['paris', 'tokyo', 'strasbourg']