Exercice 23/31

Soit la variable ecran qui contient un tableau associatif.

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

  • de déclarer la variable result qui contient un tableau ordonné vide;
  • d'une boucle for in avec la variable ìd comme itérateur;
  • d'une condition if pour tester si chaque élément du tableau associatif est considéré comme "false";
  • si c'est le cas, vous aurez besoin de push() pour ajouter les valeurs dans le tableau result;
  • cliquez sur "Soumettre ma réponse".

Leçon 23/31

Exercice de rappel pour récupérer les valeurs false dans un tableau associatif pour les ajouter dans un tableau ordonné.

Commentaires les mieux notés

  • bretel.val

    "Le tableau "result" ne contient pas toutes les valeurs attendues"

  • mram Administrateur

    Ajoutez une tabulation aux lignes 5 à 7. Et ligne 4, pas besoin de faire "=== false", simplement mettre "!" devant.

  • veronicalavroff

    Quel est le bon code svp?

  • veronicalavroff

    Correction?

28 Commentaires

  • bretel.val

    bretel.val

    "Le tableau "result" ne contient pas toutes les valeurs attendues"

    le 29/05/2017 à 17h56

  • mram

    mram Administrateur

    Ajoutez une tabulation aux lignes 5 à 7. Et ligne 4, pas besoin de faire "=== false", simplement mettre "!" devant.

    le 17/03/2017 à 19h25

  • veronicalavroff

    veronicalavroff

    Quel est le bon code svp?

    le 10/08/2016 à 00h04

  • veronicalavroff

    veronicalavroff

    Correction?

    le 10/08/2016 à 03h09

  • valentin.fougerouse

    valentin.fougerouse

    j'ai l'impression que mon code est juste, où est l'erreur ? merci

    le 18/09/2016 à 12h52

  • veronicalavroff

    veronicalavroff

    Quel est le bon code svp?

    le 09/08/2016 à 23h44

  • mram

    mram Administrateur

    Votre ligne 6 est incorrecte : vous n'ajoutez rien dans le tableau result, il faut mettre l'élément à ajouter dans le tableau entre les parenthèses de push().

    le 11/08/2016 à 00h17

  • bretel.val

    bretel.val

    "Typeerror : cannot red property of 'push' of undefined"

    le 21/05/2017 à 17h26

  • fumey.claire

    fumey.claire

    Pouvez-vous me dire où est le problème s'il vous plait ? Merci

    le 19/12/2016 à 14h47

  • mram

    mram Administrateur

    Ligne 1, les crochets suffisent, pas besoin des guillemets. C'est un tableau vide, pas une chaîne de caractères vide. Et ligne 6 il faut "pusher" l'élément du tableau en cours d'itération par la boucle, là vous pusher une chaine de caractères qui contient le texte "!ecran[id]" c'est différent car ça pourrait très bien être "toto" ça serait pareil (c'est juste du texte).

    le 21/09/2016 à 09h32

  • mram

    mram Administrateur

    Ligne 6, pourquoi avez-vous mis l'opérateur de négation "!" ?

    le 22/12/2016 à 12h42

  • bretel.val

    bretel.val

    Bonjour, cela fait une semaine que je n'ai pas eu de réponse

    le 29/05/2017 à 09h24

  • Pakal texas ranger

    Pakal texas ranger

    Bonjour je suis bloqué la .. il me dit le "tableau result est vide".. voici mon code var result= [] for (var id in ecran) { if (ecran[id] === false) { result.push(ecran[id]); } }

    le 13/03/2017 à 18h31

  • mram

    mram Administrateur

    Bonjour,alors ligne 1 il faut juste créer un tableau vide avec [].N'oubliez pas d'ajouter une tabulation au code lignes 4 à 7. Et ligne 6, il ne faut pas juste mettre "id", mais reprendre la même syntaxe que la ligne 4.

    le 29/05/2017 à 14h43

  • patricerameaux

    patricerameaux

    toujours avez-vous bien écrit la boucle for in : je commence à désespérer

    le 13/10/2016 à 15h52

  • mram

    mram Administrateur

    Ligne 8 il y a des espaces après l'accolades..., sinon votre est code est correct.

    le 17/10/2016 à 00h23

  • brett.anna

    brett.anna

    Bonjour Mram, Je ne comprends pas mon erreur. Un petit coup de pouce svp. var result = [""]; for (var id in result) { if (!result[id]) { result.push("Suzuki", "gsf", "noir"); } }

    le 22/03/2017 à 17h25

  • mram

    mram Administrateur

    Ligne 6, pourquoi utiliser le "!" ?

    le 01/06/2017 à 16h24

  • mram

    mram Administrateur

    Alors, ligne 1 pas besoin des guillemets, on créé juste un tableau vide []. Ligne 2 ce n'est pas "result" mais le tableau "ecran" qu'il faut indiquer. Idem ligne 4. Et ligne 6, dans push() il faut mettre l'élément du tableau "ecran" vers lequel on pointe à chaque itération.

    le 24/03/2017 à 10h35

  • rachid

    rachid

    Bonsoir, je pense que mon code est correcte. Mais il m'imdique que le "Le tableau "result" est vide"! Je ne comprend pas. Please some help...

    le 22/12/2017 à 18h35

  • mram

    mram Administrateur

    Bonjour, vous aviez oublié d'utiliser l'itérateur id .

    le 23/12/2017 à 17h37

  • daviwys

    daviwys

    Bonjour, mon code me semble correcte mais : "Le tableau "result" ne contient pas toutes les valeurs attendues." ici aussi :(

    le 21/09/2017 à 23h53

  • 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 à 19h10

  • joselemarchand

    joselemarchand

    idem exercices précédents...var result = []; for (var id in ecran) { if (!ecran [id]) { result.push(!ecran[id]); }}

    le 03/01/2018 à 16h36

  • mram

    mram Administrateur

    Bonjour, le code à l'intérieur de la boucle doit être indenté.

    le 07/01/2018 à 01h04

  • daviwys

    daviwys

    En remplaçant "if (ecran[id] == false)" par "if (!ecran[id])" j'ai la même erreur :(

    le 22/09/2017 à 22h32

  • mram

    mram Administrateur

    Bonjour, non la première façon est faire est la bonne. Mais comme dans l'autre exercice, il ne suffit pas de push juste "id" car id correspond à l'indice qui permet de parcourir le tableau donc il faut toujours l'utiliser avec un tableau, comme à la ligne 4.

    le 25/09/2017 à 17h26

  • aymoh-14

    aymoh-14

    Erreur(s) : Vous devez assigner assigner une propriété de l'objet ecran au tableau result via result.push(id) mais c'est que j'ai fais il me semble

    le 14/12/2018 à 11h00

  • meriam

    meriam Administrateur

    votre code avant dernier est correct. var result= []; for (var id in ecran) { if (!ecran[id]) { result.push(ecran[id]); }

    }

    le 14/12/2018 à 12h36

  • guillaume.b81-47

    guillaume.b81-47

    je ne comprends pas mon erreur : var result[]; for (var id in ecran) {if(!ecran[id]){result.push(ecran[id]); } }

    le 11/02/2019 à 17h35

  • meriam

    meriam Administrateur

    Votre dernier code est correct.

    le 13/02/2019 à 11h35

  • lolululo-22

    lolululo-22

    Bonjour, je ne comprends pas mon erreur. "!ecran[id]". Quand je clique sur soumettre, il m'affiche "Le tableau "result" ne contient pas toutes les valeurs attendues.".

    le 06/06/2018 à 15h21

  • mram

    mram Administrateur

    Bonjour, pourquoi mettre des guillemets ? Car là ce n'est que du texte du coup.

    le 13/06/2018 à 03h59

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