Exercice 19/31

Soit la variable ecran qui contient un tableau associatif.

Dans le fichier "script.js" vous aurez besoin :

  • d'une boucle for in avec la variable ìd comme itérateur;
  • d'une condition if pour tester si chaque élément du tableau est considéré comme "false";
  • alert() pour afficher les éléments considérés comme "false";
  • cliquez sur "Soumettre ma réponse".

Leçon 19/31

Exercice de rappel pour afficher que les propriétés évaluées à "false" dans un tableau associatif.

Commentaires les mieux notés

  • mram Administrateur

    Ligne 3, il y a plus simple pour vérifier que c'est "faux".

  • jovidal

    Un commentaire plus haut parle d'avoir vérifié son code et il fonctionnait... Euh mon code est validé par le robot mais en exécutant le JavaScript rien ne se passe donc comment vérifier son code ? ça m'aiderait a comprendre ce que je fais je pense Parce que j’exécute des instructions sans comprendre a quoi ça sert...

  • veronicalavroff

    bonjour, est-ce que c'est possible d'avoir un corrigé svp?

  • veronicalavroff

    réponse correcte?

91 Commentaires

  • mram

    mram Administrateur

    Ligne 3, il y a plus simple pour vérifier que c'est "faux".

    le 03/02/2017 à 00h11

  • jovidal

    jovidal

    Un commentaire plus haut parle d'avoir vérifié son code et il fonctionnait... Euh mon code est validé par le robot mais en exécutant le JavaScript rien ne se passe donc comment vérifier son code ? ça m'aiderait a comprendre ce que je fais je pense Parce que j’exécute des instructions sans comprendre a quoi ça sert...

    le 02/06/2017 à 11h30

  • veronicalavroff

    veronicalavroff

    bonjour, est-ce que c'est possible d'avoir un corrigé svp?

    le 09/08/2016 à 01h09

  • veronicalavroff

    veronicalavroff

    réponse correcte?

    le 09/08/2016 à 01h17

  • pascal-ds

    pascal-ds

    Question de vocabulaire : ce que l'on cherche à comparer à false, c'est bien la propriété ? c'est à dire écran[id] et non pas la variable id elle même ? j'ai essayé les deux au cas où, mais sans plus de succès.

    le 31/08/2016 à 09h43

  • mathieu.finocchiaro

    mathieu.finocchiaro

    reponse validée apres correction de mon erreur, autant pour moi.

    le 15/12/2016 à 16h23

  • mram

    mram Administrateur

    Non pas tout à fait. Ligne 3 ce n'est pas ecran (qui représente tout le tableau) qu'il faut vérifier mais l'élément du tableau en cours de traitement par la boucle for. Ensuite, le code lignes 4 à 6 doit avoir une indentation en plus.

    le 09/08/2016 à 11h27

  • mathieu.finocchiaro

    mathieu.finocchiaro

    vous ne devez affcher que les éléments attribué a false: for (var id in ecran) { if (ecran[id]==false) { ecran[id]++; } alert(ecran[id] + false); } la je bloque....

    le 15/12/2016 à 16h01

  • pascal-ds

    pascal-ds

    je sèche... j'ai fait un essai en créant un petit tableau. Lorsque je traduis false par "", le script fonctionne (j'ai mis dans le tableau des identifiants non renseignés, du style "prix : "",) si j'écris false, cela ne fonctionne pas. Je pense que je dois mal écrire la condition...

    le 31/08/2016 à 10h40

  • mram

    mram Administrateur

    On cherche à comparer la valeur de la propriété (accessible via ecran[id]), pas la propriété elle-même. Dans la boucle "id" représente la propriété en cours de traitement, sa valeur associée est représentée par ecran[id].

    le 31/08/2016 à 13h12

  • veronicalavroff

    veronicalavroff

    j'ai copié collé votre code et "avez vous bien écrit la boucle for in?"

    le 09/08/2016 à 17h02

  • mram

    mram Administrateur

    Oui on cherche bien à comparer à "false", mais avec l'opérateur === vous comparez à la fois le type de variable et le contenu...

    le 31/08/2016 à 13h13

  • e2c.lenormand

    e2c.lenormand

    Bonjour, Je reçois la réponse suivante : "Avez-vous bien affiché les éléments demandés avec Alert() ?". Voici mon script : for (var id in ecran) { if (!ecran[id]) { alert([id]); }} A l'exécution, cela fonctionne. Pouvez-vous m'aider ? Merci

    le 18/12/2016 à 13h50

  • e2c.lenormand

    e2c.lenormand

    J'ai trouvé mon erreur !

    le 18/12/2016 à 14h41

  • mram

    mram Administrateur

    comment ça copié collé ??

    le 11/08/2016 à 00h15

  • ea_kouassi

    ea_kouassi

    Bonjour a tous quelqu'un pourrait-il m'aider ? /* var ecran = { }; for(var id in ecran) { if(ecran[id] === false) { console.log(ecran[id]); } } */

    le 02/11/2016 à 16h18

  • mram

    mram Administrateur

    Oui le tableau existe déjà, pas besoin d'en créer un.

    le 18/12/2016 à 19h08

  • fumey.claire

    fumey.claire

    Bonjour , je ne vois pas mon erreur, pouvez-vous m'aider s'il vous plait ? Merci !

    le 19/12/2016 à 08h32

  • doriane14

    doriane14

    Bonjour, je ne comprends pas mon erreur pouvez vous m'aider?

    le 22/01/2017 à 11h48

  • mram

    mram Administrateur

    Bonjour , les lignes 1 à 3 sont inutiles. Ligne 7 il y a plus simple pour vérifier que c'est faux voir mes commentaires précédents. Et il faut utiliser alert() pas console.log()

    le 02/11/2016 à 21h19

  • mram

    mram Administrateur

    Ligne 3, il y a une façon plus simple de vérifier qu'un élément est "false".

    le 22/12/2016 à 12h40

  • mram

    mram Administrateur

    Oui votre code est correct mais la fonction alert(), qui permet d'afficher du contenu avec Javvascript, n'est pas exécutée (c'est un bug).

    le 07/06/2017 à 13h27

  • <h1>Colombe</h1>

    <h1>Colombe</h1>

    for (var id in ecran) { if (ecran[id] == false) { ecran[id]++; } alert(ecran[id] + false); } je bloque

    le 10/02/2017 à 00h09

  • <h1>Colombe</h1>

    <h1>Colombe</h1>

    for (var id in ecran) { if (!ecran [id]) { ecran[id]++; } alert(ecran[id] + false); } je bloque

    le 10/02/2017 à 09h15

  • mram

    mram Administrateur

    Juste l'accolade ligne 1 à mettre à la ligne.

    le 23/01/2017 à 00h04

  • mickael.59300

    mickael.59300

    pui-je avoir de l'aide sur ce qui ne convient pas? merci for (var id in ecran) { if (!ecran[id]) { alert("false"); ecran[id]++; } }

    le 03/04/2017 à 22h16

  • Trov

    Trov

    je ne trouve pas mon erreur for (var id in ecran) { if (ecran[id] == false) { alert([id]); } }

    le 12/10/2016 à 10h25

  • fumey.claire

    fumey.claire

    Merci ! j'ai corrigé , y a t-il une autre erreur ?

    le 23/12/2016 à 18h58

  • mram

    mram Administrateur

    C'est bon pour la ligne 3 mais pourquoi avoir changer la ligne 5 qui était correcte ? Car là vous affichez [id] qui est censé être l'itérateur qui permet de parcourir les éléments du tableau. Donc [id] correspond à une position dans le tableau mais vous n'indiquez pas de quel tableau il s'agit.

    le 26/12/2016 à 11h00

  • mram

    mram Administrateur

    Vos lignes 5 et 6 ne sont pas correctes : il faut juste faire un alert() de ecran[id].

    le 05/04/2017 à 13h23

  • mram

    mram Administrateur

    Ligne 4 à 6 il faut une tabulation en plus. La ligne 7 est inutile. C'est à la ligne 5 qu'il faut utiliser alert().

    le 14/02/2017 à 01h14

  • patricerameaux

    patricerameaux

    toujours le même message : avez-vous bien écrit la boucle for in ? j'ai vraiment besoin de votre aide

    le 13/10/2016 à 14h52

  • bretel.val

    bretel.val

    "Avez-vous bien écrit la structure "If" ?" Je ne vois pas où est mon problème de structure.

    le 09/05/2017 à 15h33

  • mram

    mram Administrateur

    @Trov : ligne 5 il faut afficher l'élément du tableau, il vous manque donc une variable...

    le 16/10/2016 à 23h29

  • mram

    mram Administrateur

    @patricerameaux : ligne 3 il faut mettre ==. Un seul = n'est pas un opérateur de comparaison, mais un opérateur d'affectation pour affecter une valeur à une variable.

    le 16/10/2016 à 23h31

  • thomas.aujean

    thomas.aujean

    Bonjour, je ne comprends pas mon erreur.. pourriez vous m'aider ?

    le 26/10/2016 à 09h53

  • mram

    mram Administrateur

    Le code lignes 4 à 6 doit avoir une tabulation en plus.

    le 15/05/2017 à 13h20

  • mram

    mram Administrateur

    Ligne 3 il y a moyen de faire pus simple, car là vous demandé littéralement : si il est vrai que ecran[id] est égal à false, il faudrait demander : si ecrand[id] est false

    le 27/10/2016 à 09h10

  • bretel.val

    bretel.val

    Non, il ne s'agit pas d'un problème de tabulation, je viens de vérifier.

    le 15/05/2017 à 22h02

  • antho.lau

    antho.lau

    Bonsoir, pouvez-vous me donner un coup de main sur cet exercice ? "AVEZ-VOUS BIEN AFFICHÉ LES ÉLÉMENTS DEMANDÉS AVEC ALERT() ?,VOUS NE DEVEZ AFFICHER QUE LES ÉLÉMENTS ÉVALUÉS À "FALSE". Je ne trouve pas comment afficher seulement les éléments évalués à false dans alert(). Merci

    le 01/02/2017 à 21h27

  • brett.anna

    brett.anna

    Bonjour Mram, Un petit coup de pouce svp. for(var id in ecran) { if (ecran[id]===false) { alert(ecran[id]); } }

    le 22/03/2017 à 15h07

  • brett.anna

    brett.anna

    Rebonjour Mram, Merci de ne pas tenir compte de mon mail précédent. J'ai trouvé une solution. Cordialement

    le 22/03/2017 à 15h49

  • david.messagerie

    david.messagerie

    J'ai toujours un problème de structure mais lequel svp ?

    le 26/02/2017 à 14h54

  • jenebakone

    jenebakone

    bonjour,quel est mon erreur?Merci

    le 28/10/2016 à 11h45

  • jenebakone

    jenebakone

    bonjour,quelle est mon erreur?Merci

    le 28/10/2016 à 11h46

  • mram

    mram Administrateur

    Dans votre dernier code, il ne faut pas de ";" ligne 3. Ajoutez également un espace après le "if" sur la même ligne.

    le 17/05/2017 à 22h02

  • mram

    mram Administrateur

    La ligne 5 est inutile, et ligne 1 il faut mettre "var id..."

    le 28/02/2017 à 20h06

  • mram

    mram Administrateur

    Alors ligne 3, vous dites littéralement : "si il est vrai que ecran[id] est égal à false" alors qu'il suffit de dire "si ecran[id] est faux". Rappelez vous l'opérateur "!"

    le 29/10/2016 à 18h04

  • molinari.eva

    molinari.eva

    Excusez-moi, je ne trouve toujours pas, il manque quelque chose je pense mais je ne trouve pas. Si vous avez 2 min pour me dire ce qui coince dans mon code, que je puisse avancer correctement.. Merci encore !

    le 24/11/2017 à 10h13

  • mram

    mram Administrateur

    Bonjour, c'est juste un souci d'indentation du code. Il faut que les balises ouvrantes et fermantes soient alignées entre elles.

    le 26/11/2017 à 20h00

  • daviwys

    daviwys

    J'ai le même soucis que "Yz".

    le 21/09/2017 à 16h30

  • mram

    mram Administrateur

    Bonjour, dans le "if" il y a moyen de faire plus simple pour vérifier si c'est faux.

    le 22/09/2017 à 18h32

  • daviwys

    daviwys

    Bonjour quand même, désolé ;)

    le 21/09/2017 à 16h30

  • mram

    mram Administrateur

    Pas de souci :)

    le 22/09/2017 à 18h32

  • lissjulien

    lissjulien

    Bonsoir. J'aimerai savoir qui a trouvé la solution ? Pour ma part, le code est : var id; for (id in ecran) { if (ecran[id] == false) { alert(ecran[id]); } }

    le 13/02/2018 à 00h41

  • nkeshimanabrice-37

    nkeshimanabrice-37

    pouvez-vous corriger...

    le 13/12/2018 à 08h31

  • meriam

    meriam Administrateur

    Il faut mettre alert(id). Supprimr l'espace entre ecran et les crochets if (!ecran [id]) .

    le 13/12/2018 à 14h30

  • djalloh2016-72

    djalloh2016-72

    oui lissjulien moi j'ai trouver la solution très simple au faite je t'assure

    le 27/02/2018 à 22h21

  • djalloh2016-72

    djalloh2016-72

    voici pour ceux qui ont chercher sans arriver : for (var id in ecran) { if (!ecran[id]) { alert(ecran[id]); } }

    le 27/02/2018 à 22h22

  • aymoh-14

    aymoh-14

    bonjour où est ce que j'ai pêché

    le 13/12/2018 à 11h00

  • meriam

    meriam Administrateur

    l'exo demande d'afficher les propriétés d'un tableau considérées comme "false", ce qui donne alert(id) .

    le 13/12/2018 à 12h08

  • anber67

    anber67

    Bonsoir je vois pas où se trouve le problème. J'ai essayé le code sur mon PC. Cela fonctionne. Je peux faire apparaître les propriétés et/ou les valeurs. Ici toujours les mêmes messages d'erreur. Je passe à la suite

    le 17/10/2017 à 23h43

  • mram

    mram Administrateur

    Bonjour, il faut utiliser autre chose que "false" pour vérifier si la variable est fausse.

    le 19/10/2017 à 01h16

  • berenger.salmon-55

    berenger.salmon-55

    Bonjour, mon code fonctionne pourtant bien dans la console et il n'y a pas de soucie d'indentation. D'où cela peut-il provenir?

    le 07/04/2018 à 19h04

  • yernaux.j-83

    yernaux.j-83

    Bonjour, je ne comprend pas mon erreur. Pouvez vous m'aider svp ?

    le 07/02/2019 à 17h56

  • meriam

    meriam Administrateur

    Bonjour, pour afficher les éléments considérés comme "false", il suffit d'écrire alert(id). l'objectif est d'afficher l'élément 'id de l'élément et non pas la valeur de l'élément'.

    le 09/02/2019 à 19h04

  • lienmontage

    lienmontage

    J'avais oublié qu'on pouvait tester l'inverse d'une valeur avec -> ( ! ) <-,mais je n'arrive pas à valider mon exercice, est ce que je peux avoir un peux d'aider svp

    le 25/03/2018 à 15h23

  • mram

    mram Administrateur

    Bonjour, votre code est correct. Ne tenez pas compte du message ici.

    le 28/03/2018 à 05h59

  • jeremy-elbaze

    jeremy-elbaze

    Bonjour je ne comprends pas mon erreur pouvez vous m'aider svp ?

    le 04/10/2017 à 17h34

  • mram

    mram Administrateur

    Bonjour, ligne 3 il y a moyen de faire plus simple pour vérifier si c'est faux.

    le 09/10/2017 à 00h19

  • chadesedouy

    chadesedouy

    qu'est ce qui cloche dans mon code? help!

    le 02/07/2017 à 15h42

  • mram

    mram Administrateur

    Ligne 2 il ne faut pas mettre "voiture" ...

    le 07/07/2017 à 11h23

  • alexismoquet

    alexismoquet

    bjr, je ne comprend pas mon erreur, mon code est-il correct ?

    le 08/10/2017 à 12h58

  • mram

    mram Administrateur

    Bonjour, il n'y a pas besoin d'itérateur avec ce type de boucle.

    le 09/10/2017 à 00h56

  • gasnier.br

    gasnier.br

    bonjour, un petit coup de main serait le bienvenu. je coince. merci

    le 28/12/2017 à 12h52

  • mram

    mram Administrateur

    Bonjour, la boucle "for" est adaptée pour parcourir un tableau. Pas besoin d'itérateur ( i++ ) . La boucle parcours tout le tableau jusqu'à la fin.

    le 31/12/2017 à 18h32

  • natamarie-77

    natamarie-77

    je bug sur cet exercice. Et vu que les prochains y ressemblent, pouvez-vous m'aider?

    le 07/03/2019 à 20h33

  • meriam

    meriam Administrateur

    Bonjour, à la ligne 12, supprimez les [ ], il suffit d'écrire alert(id).

    le 08/03/2019 à 11h52

  • Yz

    Yz

    Bonjour, je bloque je ne vois pour où se trouve mon erreur, please help me = Erreur(s) : Avez-vous bien affiché les éléments demandés avec alert() ? Vous ne devez afficher que les éléments évalués à "false".. Merci

    le 08/09/2017 à 18h37

  • mram

    mram Administrateur

    Bonjour, vous aviez presque bon le 08/09. Depuis vous avez cherché trop compliqué. Dans la dernière version de votre code il faut juste faire un alert(ecran[id]) dans le if et rien d'autre.

    le 12/09/2017 à 16h24

  • molinari.eva

    molinari.eva

    Bonsoir, j'ai modifié plusieurs fois le code je ne trouve pas... Un peu d'aide est la bienvenue... Merci !!

    le 22/11/2017 à 20h31

  • mram

    mram Administrateur

    Bonjour, votre code est presque correct. Vous vous mélanger les pinceaux dans les accolades. Il faut un couple d'accolades pour le boucle "for" et un autre pour la condition "if" . Attention également à l'indentation du code. Les balises fermantes doivent être alignées avec les balises ouvrantes.

    le 26/11/2017 à 19h29

  • p.laber

    p.laber

    Bonjour, compliqué pour se corriger. "alert()" ne marche pas comme déja mentionné, l'affichage console (sur mon mac en tout cas) non plus, les messages du petit robot sont vagues. Bref je suis si souvent dans le brouillard que obligé de continuer sans pouvoir corriger l'exo. Est ce qu'une alternative serait possible, par exemple en copiant les variables dans un fichier local, même si c'est plus long et à la main, ou toute autre solution pour éviter d'avancer à l'aveuglette lorsqu'on arrive pas à corriger ? Ca allait pour HTML mais la on est souvent dans l'erreur "mystère", en tout cas c'est mon ressenti. Merci.

    le 11/10/2017 à 12h47

  • mram

    mram Administrateur

    Bonjour, ligne 3 vous pouvez faire plus simple pour vérifier si c'est faux. Et l'accolade qui suit doit être à la ligne.

    le 12/10/2017 à 16h24

  • olivierbretaud-52

    olivierbretaud-52

    Bonjour, je ne comprends pas mon erreur, pouvez-vous m'aider?

    le 13/05/2018 à 20h17

  • mram

    mram Administrateur

    Bonjour, dans le "if" pas besoin de mettre Boolean car Javascript ne le comprendra pas, et il y a plus simple que de faire " === false ".

    le 18/05/2018 à 05h04

  • natamarie-77

    natamarie-77

    merci beaucoup ;)

    le 08/03/2019 à 12h36

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice rappel 2</title> <script src="script.js"></script> </head> <body> </body> </html>
var ecran = { marque: 'SamSoule', annee: false, resolution: '1920x1080', prix: '400€', reduction: false }