Exercice 11/11

Soit tableau la variable qui contient un tableau.

Dans le fichier "script.js" :

  • créez la fonction dernierElem avec un argument tbl;
  • la fonction doit récupérer le dernier élément du tableau (voir astuce);
  • cliquez sur "Soumettre ma réponse".

Leçon 11/11

Dans cet exercice il faut faire une fonction qui récupère le dernier élément d'un tableau.

Il ne faut pas utiliser la fonction .pop() ici mais récupérer le dernier élément du tableau en calculant sa position.

Le calcul de sa position peut se faire en utilisant la propriété .length tout en sachant que l'on compte à partir de 0 pour les positions des éléments.

Commentaires les mieux notés

  • laila86

    recup ne contient pas la valeur attendue jai essaye avec pop () et length-1 sa veux pas se valider que faire? merci

  • tomasinilaura1988

    J'ai un message d'erreur, pouvez-vous me dire si j'ai juste : var recup; function dernierElem(tbl) { return tbl.length-1; } recup = dernierElem(tableau); alert(recup);

  • mram Administrateur

    Vos codes sont corrects, je vérifierai la correction de cet exercice en détail.

  • mram Administrateur

    Toujours la même erreur, lignes 3 et 4 sur une seule ligne.

70 Commentaires

  • laila86

    laila86

    recup ne contient pas la valeur attendue jai essaye avec pop () et length-1 sa veux pas se valider que faire? merci

    le 02/01/2018 à 02h52

  • mram

    mram Administrateur

    Bonjour, il ne faut pas le faire avec .pop() mais en utilisant une autre astuce :)

    le 06/01/2018 à 19h30

  • tomasinilaura1988

    tomasinilaura1988

    J'ai un message d'erreur, pouvez-vous me dire si j'ai juste : var recup; function dernierElem(tbl) { return tbl.length-1; } recup = dernierElem(tableau); alert(recup);

    le 13/11/2017 à 16h50

  • mram

    mram Administrateur

    Bonjour, il faut bien utiliser la technique du "length - 1" et non pop(). Mais il faut mettre les crochets autour. N'oubliez pas qu'on cherche la position du dernier élément du tableau pour pouvoir le récupérer. Et la position ça s'indique entre crochets.

    le 16/11/2017 à 17h37

  • mram

    mram Administrateur

    Vos codes sont corrects, je vérifierai la correction de cet exercice en détail.

    le 16/09/2016 à 14h25

  • mram

    mram Administrateur

    Toujours la même erreur, lignes 3 et 4 sur une seule ligne.

    le 30/08/2016 à 20h40

  • mram

    mram Administrateur

    Ne tenez pas compte de l'erreur, votre code est correct.

    le 06/10/2016 à 00h44

  • s.gaudefroy

    s.gaudefroy

    Bonjour, j'obtiens le message suivant : "recup" ne contient pas la valeur attendue, avez vous bien utilisé return et exécuté la fonction..., pourtant le code a l'air d'être correct ? : var recup; function dernierElem(tbl) { return tbl.pop(); } recup = dernierElem(tableau); alert(recup);

    le 16/09/2016 à 09h23

  • mathieu.finocchiaro

    mathieu.finocchiaro

    var recup; function dernierElem(tbl) { recup = tbl.pop(); return recup; } dernierElem(tableau); alert(recup); et pour finir sur la lancée, encore le msg d'erreur.. mes codes depuis l'exo 5 sont ils justes??

    le 16/12/2016 à 15h26

  • bsmeyers84

    bsmeyers84

    Taos même problême: AVEZ-VOUS UTILISE POP() DANS LA FONCTION?.....

    le 30/08/2016 à 15h58

  • jovidal

    jovidal

    Mon code est correct ? :) Je vois que le correcteur est un rebelle donc j'aimerais bien avoir quand une validation pour ma propre satisfaction d'avoir réussi.| var recup; function dernierElem (tbl) { return tbl.pop(); } recup = dernierElem(tableau); alert(recup);

    le 06/06/2017 à 13h01

  • pascal-ds

    pascal-ds

    message : "recup" ne contient pas la valeur attendue, avez vous bien utilisé return et exécuté la fonction... ben oui... il me semble Oo J'ai testé avec un tableau, le script fonctionne... qu'attend donc le robot correcteur ?

    le 02/09/2016 à 12h10

  • Timo

    Timo

    Même problème ici, je pense que mon code est correct.

    le 19/09/2016 à 21h40

  • veronicalavroff

    veronicalavroff

    est-ce que mon code est correct? "avez vous utilisé l'argument tbl, "recup" ne contient pas la valeur attendue." j'ai fait un test pourtant, merci

    le 11/08/2016 à 04h55

  • mram

    mram Administrateur

    Même observation que précédemment par rapport à l'usage de "recup".

    le 18/12/2016 à 18h41

  • Marodheure

    Marodheure

    Pour valider cet exercice malgré la correction automatique un peu rebelle, vous devez réussir à retourner le dernier élément du tableau mais sans le supprimer, bonne chance.

    le 23/05/2017 à 15h42

  • mram

    mram Administrateur

    Il n'y a pas besoin de déclarer à nouveau la variable "tableau", elle existe déjà et contient des éléments.

    le 16/08/2016 à 11h02

  • mram

    mram Administrateur

    Oui là comme j'ai dit, la correction sur cet exercice va être revue.

    le 21/09/2016 à 09h47

  • y.redjah

    y.redjah

    j'ai le même problème code correct mais message d'erreur comme dans l'exercice précédent function dernierElem (tbl) { return tbl.pop(); } recup = dernierElem (tableau); alert(recup);

    le 28/04/2017 à 16h55

  • bsmeyers84

    bsmeyers84

    voici le nouveau message suite à la correction

    le 05/09/2016 à 16h22

  • bsmeyers84

    bsmeyers84

    nouveau message patres correction: TYPEERROR: CANNOT READ PROPERTY 'POP' OF UNDEFINED

    le 05/09/2016 à 16h23

  • mram

    mram Administrateur

    Lignes 1 et 5, il faut coller les parenthèses au nom de la fonction.

    le 04/05/2017 à 12h05

  • mram

    mram Administrateur

    Oui votre code est correct :)

    le 07/06/2017 à 14h30

  • mram

    mram Administrateur

    Ligne 5, vous utilisez la fonction mais sans argument ...

    le 06/09/2016 à 17h20

  • mram

    mram Administrateur

    @Marodheure : bien vu !

    le 29/05/2017 à 15h12

  • bsmeyers84

    bsmeyers84

    AVEZ-VOUS UTILISE POP() DANS LA FONCTION?.....

    le 26/08/2016 à 18h13

  • yentrang.huynh

    yentrang.huynh

    Bonjour, Est-ce que la correction de l'exercice fonctionne? Je ne vois pas mon erreur. Merci

    le 20/03/2017 à 18h44

  • bsmeyers84

    bsmeyers84

    correction faite mais j'ai de nouveau le message: AVEZ-VOUS UTILISE POP() DANS LA FONCTION?

    le 13/09/2016 à 14h12

  • mram

    mram Administrateur

    Ligne 3, pas besoin de "tableau". On applique pop() à tbl qui est l'argument qui représente "tableau" au sein de la fonction.

    le 26/08/2016 à 19h37

  • mram

    mram Administrateur

    Non, un souci ici aussi avec la correction. Mais votre code est bon.

    le 21/03/2017 à 17h54

  • mram

    mram Administrateur

    Ligne 3, pourquoi des guillemets ??

    le 13/09/2016 à 19h31

  • ctognol

    ctognol

    Bonjour, Pareil même erreur alors que m'on code fonctionne.

    le 04/10/2016 à 15h54

  • bsmeyers84

    bsmeyers84

    revue mais toujours même problème guillemets ou pas

    le 14/09/2016 à 11h18

  • bsmeyers84

    bsmeyers84

    nouveau message d'erreur: "RECUP" NE CONTIENT PAS LA VALEUR ATTENDUE. AVEZ-VOUS UTILISÉ "RETURN" PUIS EXÉCUTÉ LA FONCTION ?

    le 14/09/2016 à 11h19

  • alexismoquet

    alexismoquet

    J'imagine que c'est avec length-1 mais je ne vois pas comment l'écrire. Merci.

    le 26/10/2017 à 09h42

  • mram

    mram Administrateur

    Bonjour, oui c'est bien ça. Mais attention la ligne 1 est inutile, la variable tableau existe déjà.

    le 30/10/2017 à 00h53

  • philgd28

    philgd28

    Re bonjour... Mon code est à priori correct, pouvez me le confirmer. Je ne crois pas avoir fais d'erreur. Pourtant j'ai un message d'erreur... Merci

    le 10/08/2017 à 10h25

  • mram

    mram Administrateur

    Bonjour, oui là votre code est correct. Ici c'est la correction qui bug...

    le 16/08/2017 à 10h20

  • kriss.clotilde

    kriss.clotilde

    Bonjour, j'ai testé mon code mais cela ne fonctionne pas. Pouvez-vous m'aider à comprendre mon erreur svp ?

    le 22/09/2017 à 10h36

  • mram

    mram Administrateur

    Bonjour, votre code est correct, ne tenez pas compte de l'erreur ici. Il est prévu de corrigé cet exercice cette semaine.

    le 25/09/2017 à 16h56

  • severine.74

    severine.74

    bonjour, je n'arrive pas à valider l'exercice. pouvez-vous m'indiquer si le code est correct? d'avance merci

    le 10/03/2018 à 11h15

  • mram

    mram Administrateur

    Bonjour, lisez l'astuce :) Ici on vous demande de ne pas utiliser .pop() et de trouver une autre manière de le faire.

    le 12/03/2018 à 00h21

  • gwendaniel35

    gwendaniel35

    Bonjour, pouvez-vous me dire ce qui ne va pas dans mon code ? J'ai pourtant l'impression qu'il est bon.

    le 12/09/2017 à 18h33

  • mram

    mram Administrateur

    Bonjour, oui il est bon. La correction ne semble pas reconnaître la fonction .pop() . Il y a moyen de faire l'exercice en utilisant un autre moyen. Mais en l'état c'est pas bien grave, votre code est correct.

    le 14/09/2017 à 13h17

  • triplaxs

    triplaxs

    bonjour var recup; function dernierElem(tbl){ return tbl.pop(); } recup=dernierElem(tableau); alert (recup); que faire ?

    le 02/09/2017 à 16h41

  • mram

    mram Administrateur

    Bonjour, votre code est correct. La correction bug avec .pop(). Il y a moyen de valider l'exercice en utilisant une autre méthode que .pop() . Mais votre code est correct quand même.

    le 06/09/2017 à 10h45

  • Audrey Poul

    Audrey Poul

    Bonjour mon code est il bon?svp

    le 04/01/2018 à 17h05

  • mram

    mram Administrateur

    Bonjour, c'est le code dans les crochets qui est incomplet, il manque notamment " .length " que vous avez mis juste avant.

    le 07/01/2018 à 01h46

  • bernardraphael13

    bernardraphael13

    bonjour, je suis dans le cas "recup" ne contient pas la valeur attendue. Avez-vous utilisé "return" puis exécuté la fonction ? pouvez regarder mon code est me donner une piste pour trouver la solution merci d'avance

    le 27/06/2017 à 10h41

  • mram

    mram Administrateur

    Bonjour, votre code est bon. La correction n'est pas optimale sur cet exercice (n'en tenez pas compte).

    le 29/06/2017 à 17h07

  • laila86

    laila86

    "recup" ne contient pas la valeur attendue. Jai essayé avec .length toujours erreur

    le 21/01/2018 à 22h53

  • mram

    mram Administrateur

    Bonjour, la syntaxe "tbl.length();" n'est pas correcte ".length" est une propriété et non une fonction (donc pas de parenthèses). Mais ce n'est pas suffisant. Commencez par mettre "return tbl[...]" . Ensuite reste à trouver le code à mettre dans les crochets pour pointer vers le dernier élément du tableau.

    le 22/01/2018 à 12h06

  • mariegade

    mariegade

    Bonjour, qu'elle est mon erreur ? Je n'arrive pas à valider l'exercice, msg d'erreur: "recup" ne contient pas la valeur attendue.

    le 02/11/2017 à 15h41

  • mram

    mram Administrateur

    Bonjour, on veut récupérer un élément du tableau. Les éléments d'un tableau se trouvent grâce à leur position dans le tableau. Il faut donc indiquer cette position, voici la syntaxe théorique : tableau[position] où "position" est un nombre. Ici on veut récupérer le dernier élément du tableau grâce à "length-1"

    le 04/11/2017 à 00h08

  • marouane.tais-9

    marouane.tais-9

    Bonsoir, je voudrais savoir si y'a toujours problème avec la correction vu que j'ai le code bien rédiger : var recup; function dernierElem(tbl) { return tbl.length(tbl); } recup = dernierElem(tableau); alert(recup);

    le 23/12/2018 à 20h51

  • meriam

    meriam Administrateur

    Bonjour, pour récupérer le dernier élément du tableau, utilisez l'indice tbl.length -1 ce qui donne return tbl[tbl.length-1].

    le 24/12/2018 à 11h20

  • nkeshimanabrice-37

    nkeshimanabrice-37

    pouvez-vous corriger les erreurs internes...

    le 11/04/2019 à 12h26

  • meriam

    meriam Administrateur

    corrigez return tbl[tbl.length-1]

    le 11/04/2019 à 13h40

  • duboisdelphine-16

    duboisdelphine-16

    question bête, mais à quoi servent les astuces si elles nous embrouillent ? Pour réussir cet exo, on nous dit d'utiliser .length alors que c'est slice() qui m'a permis de réussir. vous voulez qu'on devienne chèvre ?

    le 26/03/2018 à 12h17

  • mram

    mram Administrateur

    Bonjour, vous n'avez pas utilisé .length de la bonne façon, c'est un peu plus compliqué que cela.

    le 28/03/2018 à 06h12

  • mram

    mram Administrateur

    Et vous n'avez pas non plus utilisé .slice() de la bonne façon. Donc vous n'avez pas compris ce que fait cette fonction par rapport à ce qui est demandé. Et ça risque de vous induire en erreur par la suite si vous la réutiliser.

    le 28/03/2018 à 06h14

  • mram

    mram Administrateur

    Essayez de refaire l'exercice de manière à récupérer le dernier élément du tableau, pour cela vous aurez besoin de connaître la longueur du tableau (mais il ne s'agit pas uniquement de faire cela).

    le 28/03/2018 à 06h16

  • veronique.nollet

    veronique.nollet

    Bonjour, j'ai le message suivant : "recup" ne contient pas la valeur attendue. function dernierElem(tbl) { return tbl.length[-1]; } recup = dernierElem(tableau); alert(recup);

    le 08/05/2018 à 19h36

  • mram

    mram Administrateur

    Bonjour, c'est presque ça. Il faudrait plutôt faire "return tbl[...]" . Et c'est dans les crochets qu'il faut utiliser .length :)

    le 14/05/2018 à 02h29

  • YD.

    YD.

    Bonjour je continue a essayer avec length-1 mais je n'y arrive pas , help please

    le 06/11/2017 à 13h09

  • YD.

    YD.

    c'est bon on l'avait deja fait dans un autre exercice !!!

    le 06/11/2017 à 13h17

  • mram

    mram Administrateur

    Bonjour, oui ici ce sont des révisions. Rien de nouveau à part le fait que l'on met notre code dans une fonction. Puis qu'on exécute cette fonction.

    le 07/11/2017 à 22h56

  • jwagret

    jwagret

    bonjour idem message d'erreur,

    le 26/08/2017 à 00h01

  • mram

    mram Administrateur

    Bonjour, ici aussi votre code est correct :)

    le 30/08/2017 à 13h15

  • sebastien.carret78-45

    sebastien.carret78-45

    Bonjour, mon code fonctionne mais l'exercice n'est pas validé... Pourquoi ? function dernierElem(tbl) { return tbl.pop(tbl.length-1) } recup = dernierElem(tableau); alert(recup);

    le 08/03/2019 à 10h06

  • meriam

    meriam Administrateur

    Bonjour, erreur à la ligne 12, la fonction pop n'est pas utile tbl[tbl.length-1] permet de récupérer le dernier élément d'un tableau.
    

    le 08/03/2019 à 11h55

  • meriam

    meriam Administrateur

    Bonjour, erreur à la ligne 12, la fonction pop n'est pas utile tbl[tbl.length-1] permet de récupérer le dernier élément d';un tableau.

    le 08/03/2019 à 11h56

  • triplaxs

    triplaxs

    merci

    le 08/09/2017 à 07h34

  • duboisdelphine-16

    duboisdelphine-16

    si c'est pas utilisé correctement, pourquoi ça se valide ? y a des exercices où y a juste un espace en trop et ça ne marche pas, et là, c'est pas la bonne fonction et ça marche?

    le 28/03/2018 à 07h55

  • mram

    mram Administrateur

    Je me suis mal exprimé. C'est la méthode avec length que vous avez mal utilisée. La méthode avec slice() est bien utilisée (avec le -1) mais fait les choses un peu différemment.

    le 30/03/2018 à 02h32

  • mram

    mram Administrateur

    Ca valide tout simplement car on ne vérifie pas si l'utilisateur utilise cette fonction pour faire l'exercice. En pratique il ne devrait pas car on souhaite que ce soit la méthode avec .length qui soit utilisée (tout comme dans l'exercice 26 sur les tableaux) car ça permet d'avoir une réflexion plus approfondie.

    le 30/03/2018 à 02h38

  • mram

    mram Administrateur

    Il faudra mettre l'exercice à jour pour prendre en compte cela. Merci pour le retour.

    le 30/03/2018 à 02h39

  • mram

    mram Administrateur

    Concernant les exercices qui bloquent pour des raisons d'espaces, c'est parce qu'à l'heure actuelle il y a un seul niveau d'erreur (bloquant). On a ajouté un deuxième niveau d'erreur (avertissement) pour tout ce qui est syntaxe du code mais on n'a pas encore les design de l'interface utilisateur afin de savoir sous quelle forme ce sera affiché.

    le 30/03/2018 à 02h42

  • Bérénice

    Bérénice

    c'est le chat qui se mort la queue quand je recupere le dernier element sans passer par pop il me dit qu'il faut pop et quand on utilise pop ca ne marche pas... je trouve que les validations sont vraiment mal faites et les personnes ne sont plus motivées à les faire. Vraiment dommage

    le 20/09/2017 à 15h26

  • mram

    mram Administrateur

    Bonjour, oui cet exercice est pas évident. La correction va être refaite. Mais la solution du "tbl.length - 1" est bien vu :)

    le 20/09/2017 à 16h03

  • philgd28

    philgd28

    ok merci.

    le 17/08/2017 à 16h40

  • yoannmartinez-72

    yoannmartinez-72

    var recup; function dernierElem(tbl) { return tbl.slice(tableau.length-1); } recup = dernierElem(tableau); alert(recup);

    le 10/05/2018 à 17h27

  • mram

    mram Administrateur

    Bonjour, pas besoin d'utiliser la fonction .slice() , il y a moyen de faire autrement.

    le 14/05/2018 à 03h23

  • alexismoquet

    alexismoquet

    bjr, mon code est-il correct ?

    le 25/10/2017 à 09h22

  • mram

    mram Administrateur

    Bonjour, avec l'utilisation de .pop() oui votre code est correct. Mais la correction ne fonctionne pas correctement avec cette fonction. Il faut donc trouver un autre moyen de le faire. Regardez l'astuce pour plus de détails.

    le 25/10/2017 à 15h36

  • maxbonbon-92

    maxbonbon-92

    Bonjour, je souhaiterai connaitre la bonne syntaxe .length - 1 ou .length-1 ??? merci, y a til un impact sur la rapidité de l'affichage d'une page web?

    le 09/02/2018 à 22h08

  • mram

    mram Administrateur

    Bonjour, les deux syntaxes sont correctes et ça n'influence pas la rapidité d'affichage.

    le 12/02/2018 à 21h52

  • jennlagarde

    jennlagarde

    Bonjour, pouvez vous m'aider je ne comprend pas mon erreur: "recup" ne contient pas la valeur attendue.

    le 31/12/2017 à 11h55

  • mram

    mram Administrateur

    Bonjour, l'erreur est ligne 3. Le code dans les crochets n'est pas fini. Il manque notamment ce que vous avez mis après les crochets.

    le 31/12/2017 à 19h19

  • danderhy3

    danderhy3

    var recup; function dernierElem(tbl) { return tbl.pop(); } recup = dernierElem(tableau); alert(recup); corect

    le 14/07/2017 à 17h45

  • mram

    mram Administrateur

    Bonjour, votre code est correct ici.

    le 16/07/2017 à 11h11

  • farjallah.refka-37

    farjallah.refka-37

    merci beaucoup

    le 16/04/2019 à 16h11

  • meriam

    meriam Administrateur

    bon courage.

    le 16/04/2019 à 16h13

  • nkeshimanabrice-37

    nkeshimanabrice-37

    bien vu...

    le 15/04/2019 à 14h29

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice pratique 6</title> <script src="script.js"></script> </head> <body> </body> </html>
var tableau = ["Blue", "Green", "Red", "Orange", "Violet", "Indigo", "Yellow"]; var recup; /* Votre fonction dernierElem ici */ recup = dernierElem(tableau); alert(recup);