Exercice 17/31

Soit la variable voiture qui contient un tableau associatif.

Dans le fichier "script.js" :

  • utilisez une boucle for in pour parcourir le tableau;
  • dans la boucle affichez chaque valeur avec alert();
  • cliquez sur "Soumettre ma réponse".

Leçon 17/31

Pour parcourir un tableau ordonné, la boucle for est adaptée car elle utilise l'indice correspondant à chaque élément du tableau.

Un tableau associatif ne possède pas d'indice numérique donc la boucle for n'est pas adaptée. Il faut utiliser un nouveau type de boucle spécifique aux tableaux associatifs : for in.

Exemple :

var voiture = {
    marque : 'Bugatti',
    modele : 'Chiron',
    couleur : 'bleue',
    annee : 2016
};
// Ci-dessous la boucle
for (var id in voiture)
{
    alert(voiture[id]);
}

Il y a trois mots clés indispensables dans la boucle : for, var, in. Ici, on déclare une nouvelle variable id qui va parcourir chaque propriété du tableau voiture.
Pour chaque propriété, on l'affiche avec alert(voiture[id]).

Remarque :

Utiliser le nom id n'est pas obligatoire, vous pouvez donner le nom que vous voulez, mais c'est conseillé de faire commme ceci.

Commentaires les mieux notés

42 Commentaires

  • doucouremadi5-17

    doucouremadi5-17

    Bonjour j'ai le message suivant:Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ? voici mon code for(var id in voiture) { alert(voiture[id]); Help me please

    le 13/08/2021 à 15h04

  • meriam

    meriam Admin

    Bonjour, il faut remplacer le code suivant { par une accolade ouvrante {

    le 30/08/2021 à 11h05

  • doucouremadi5-17

    doucouremadi5-17

    Bonjour j'ai le message suivant for(var id in voiture) { alert(voiture[id]);

    le 13/08/2021 à 15h02

  • meriam

    meriam Admin

    Bonjour, il faut remplacer le code suivant { par une accolade ouvrante {

    le 30/08/2021 à 11h05

  • bilismira-75

    bilismira-75

    Bonjour, on me dit :votre boucle doit iterer l'object voiture . Je ne comprend?

    le 20/07/2021 à 07h04

  • meriam

    meriam Admin

    Bobjour, faites attention au noms des variables (vous avez écrit vouture au lieu de voiture au moment de la déclaration de la boucle for).

    le 22/07/2021 à 10h09

  • bilismira-75

    bilismira-75

    bonsoir, je ne trouve pas l'erreur

    le 14/07/2021 à 19h15

  • meriam

    meriam Admin

    Bonjour, vous devez supprimer le point-virgule juste aprés l'accolade fermante du tableau;

    le 20/07/2021 à 00h59

  • bilismira-75

    bilismira-75

    Bonjour, pouvez -vous m'aider svp. je suis bloqué

    le 12/07/2021 à 18h46

  • meriam

    meriam Admin

    Bonjour, coorrigez la condition de la boucle for ==>for(var id in vouture)

    le 14/07/2021 à 10h57

  • stephane.rodriguez777-81

    stephane.rodriguez777-81

    Bonjour, pouvez valider mon code, merci.

    le 10/02/2021 à 12h05

  • meriam

    meriam Admin

    Même remarque que la réponse précédente, supprimez le point-virgule aprés l'accolade ouvrante de la boucle for.

    le 10/02/2021 à 14h17

  • loutchay-74

    loutchay-74

    Bonjour, si mon code est correct, pouvez-vous me le valider s'il vous plait? Par avance, merci.

    le 10/10/2020 à 09h58

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le point virgule ; aprés la déclaration de la boucle for.

    le 14/10/2020 à 11h29

  • meriam

    meriam Admin

    il faut aussi supprimer le point-virgule juste aprés la déclaration du tableau.

    le 14/10/2020 à 11h30

  • loutchay-74

    loutchay-74

    Bonsoir, le correcteur affiche: Le corps de votre boucle doit avoir une seule instruction. Je ne vois pas où est mon erreur. J'ai pourtant suivi les explication de la leçon. Un peu d'aide s'il vous plait. Merci.

    le 24/09/2020 à 18h28

  • meriam

    meriam Admin

    Bonjour, le code est correct.

    le 25/09/2020 à 12h02

  • meriam_9.3-30

    meriam_9.3-30

    ; for (var id in voiture) { alert(voiture[id]); }

    le 31/12/2019 à 18h17

  • lehartelheiarii-61

    lehartelheiarii-61

    C'est bon j'ai trouvé xD

    le 23/06/2019 à 09h45

  • veronique.nollet

    veronique.nollet

    Bonjour, si je ne déclare pas ma var voiture, j'ai un message d'erreur : voiture is not defined. Alors je suis bien obligée de déclarer le tableau voiture.

    le 07/05/2018 à 06h57

  • mram

    mram Admin

    Bonjour, avez-vous bien lu les instructions, le nom du tableau n'est pas "voiture" dans cet exercice.

    le 09/05/2018 à 02h29

  • veronique.nollet

    veronique.nollet

    Bonjour, j'ai le message suivant : Avez-vous bien affiché chaque élément du tableau avec alert() ? je ne vois pas où est l'erreur. Help please !

    le 26/04/2018 à 12h54

  • mram

    mram Admin

    Bonjour, pas besoin de déclarer le tableau "voiture", on l'a déjà fait pour vous. Il faut juste écrire la boucle.

    le 28/04/2018 à 23h52

  • mram

    mram Admin

    Une indentation en trop lignes 2 à 4.

    le 16/10/2016 à 20h18

  • patricerameaux

    patricerameaux

    avez-vous bien écrit for in ? il me semble pourtant que si

    le 13/10/2016 à 10h36

  • patricerameaux

    patricerameaux

    avez-vous bien écrit la boucle for in ? a priori ouais ...

    le 13/10/2016 à 07h29

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Parcourir un tableau associatif</title> <script src="script.js"></script> </head> <body> </body> </html>
var voiture = { marque : 'Bugatti', modele : 'Chiron', couleur : 'bleue', annee : 2016 }