Exercice 26/31

Soit la variable villes qui contient un tableau ordonné.

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

  • de déclarer la variable result qui contiendra la longueur du tableau;
  • alert() pour afficher result;
  • cliquez sur "Soumettre ma réponse".

Leçon 26/31

Exercice de rappel pour récupérer la longueur d'un tableau ordonné.

Commentaires les mieux notés

  • jovidal

    Je ne comprend pas non plus a quoi nous sert length et pourquoi var result = villes.pop(); alert(result); n'est pas accepter par le robot et a quoi correspond le -1 de length ?

  • bretel.val

    Ce message s'affiche quand je soumets ma réponse, "result" ne contient pas la valeur attendue, or result contient bien la dernière valeur du tableau villes et je ne vois pas comment faire sans .pop() puis je ne comprend pas à quoi sert le deuxième point de l'exercice.

  • mram Administrateur

    Beaucoup d'erreurs ici, il serait opportun de revoir les premiers exercices sur les tableaux...

  • mram Administrateur

    La variable villes existe déjà, pas besoin de la déclarer...

33 Commentaires

  • jovidal

    jovidal

    Je ne comprend pas non plus a quoi nous sert length et pourquoi var result = villes.pop(); alert(result); n'est pas accepter par le robot et a quoi correspond le -1 de length ?

    le 02/06/2017 à 13h59

  • bretel.val

    bretel.val

    Ce message s'affiche quand je soumets ma réponse, "result" ne contient pas la valeur attendue, or result contient bien la dernière valeur du tableau villes et je ne vois pas comment faire sans .pop() puis je ne comprend pas à quoi sert le deuxième point de l'exercice.

    le 02/06/2017 à 14h35

  • mram

    mram Administrateur

    Beaucoup d'erreurs ici, il serait opportun de revoir les premiers exercices sur les tableaux...

    le 30/08/2016 à 20h50

  • mram

    mram Administrateur

    La variable villes existe déjà, pas besoin de la déclarer...

    le 16/09/2016 à 14h56

  • mram

    mram Administrateur

    @jovidal : le but ici est de montrer que l'on peut faire la même chose que pop() sans l'utiliser. Ce sont des astuces à connaitre. On utilise -1 car dans un tableau on compte à partir de zéro.

    le 07/06/2017 à 13h32

  • bsmeyers84

    bsmeyers84

    "RESULT" NE CONTIENT PAS LA VARIABLE ATTENDUE.

    le 30/08/2016 à 16h06

  • mram

    mram Administrateur

    bretel.val : le message d'erreur n'est pas forcément adapté ici. On soutaite que vous fassiez la même chose que pop() mais sans l'utiliser.

    le 07/06/2017 à 13h34

  • omr.khouas

    omr.khouas

    je vois pas mon erreur!pourtant c'est ok quand je teste avec js!

    le 15/09/2016 à 18h46

  • mickael.59300

    mickael.59300

    je ne comprends pas... pour moi, j'ai répondus à l'énoncé mais... cela ne semble pas le cas pour le système...

    le 04/04/2017 à 00h12

  • kpham

    kpham

    Bonsoir, Je n'arrives pas à comprendre l'utilité de la fonction .length sinon voici mon code qui récupère bien la dernière valeur du tableau et la met dans result : var result = villes.pop(); alert(result);

    le 22/09/2016 à 00h43

  • kpham

    kpham

    ah oui il y a plusieurs facon : var result = villes[villes.length -1];

    le 22/09/2016 à 11h05

  • mram

    mram Administrateur

    C'est presque ça, n'oubliez pas que dans un tableau on compte à partir de zéro pour calculer la position d'un élément. Et surtout on veut pointer vers le dernier élément d'un tableau ordonné, don il faut utiliser les crochets [] .

    le 05/04/2017 à 13h28

  • bretel.val

    bretel.val

    J'ai trouvé ce code mais j'avoue ne pas en comprendre le fonctionnement

    le 07/06/2017 à 22h04

  • mram

    mram Administrateur

    Oui, bien vu votre façon de faire ...

    le 22/09/2016 à 23h29

  • mram

    mram Administrateur

    On souhaite récupérer le dernier élément du tableau "villes". Donc il faut connaître la longueur du tableau (cad le nombre d'éléments qu'il contient). On utilise pour cela .length

    le 12/06/2017 à 14h57

  • mram

    mram Administrateur

    Si le tableau contient 5 éléments alors le dernier élément (celui qu'on veut récupérer) est à la position 4 (car le 1er élément est toujours à la position zéro dans un tableau). Donc il suffit de faire "var recup = villes[4]" pour avoir le dernier élément . Car entre crochet on met toujours un nombre qui correspond à la position de l'élément dans le tableau (c'est le pointeur).

    le 12/06/2017 à 15h01

  • mram

    mram Administrateur

    Vu que là on ne connait pas la longueur du tableau il faut filouter pour récupérer le dernier pointeur . C'est pour ça que entre les crochets on met une opération mathématique (longueur du tableau - 1) .

    le 12/06/2017 à 15h03

  • omr.khouas

    omr.khouas

    bonjour, je vois pas ou est mon erreur, pourtant quand j’exécute js ça passe bien!

    le 15/09/2016 à 18h45

  • bernardraphael13

    bernardraphael13

    Dans le fichier "script.js" vous aurez besoin : de déclarer la variable result qui contiendra la valeur récupérée; de connaître la longueur du tableau; alert() pour afficher result; le texte est dans le désordre me semble til? Dans le fichier "script.js" vous aurez besoin : de récupérer la longueur du tableau; de déclarer la variable result qui contiendra la valeur récupérée et alert() pour afficher result; qu'en pensez vous ?

    le 23/06/2017 à 18h13

  • mram

    mram Administrateur

    Bonjour, l'ordre des instructions ne compte pas ici. Le code peut tenir en une seule ligne. Mais faites le dans l'ordre que vous voulez du moment que le résultat attendu est bon.

    le 28/06/2017 à 15h18

  • eva-85

    eva-85

    merci Mram

    le 01/03/2018 à 10h21

  • armand1807

    armand1807

    j'ai validé l'exo en recopiant un com mais sinon je vois pas comment y arrivé... apparamment ya plusieurs façons mais je vois pas lesquels...

    le 17/08/2017 à 11h40

  • mram

    mram Administrateur

    Bonjour, et bien les 2 façons de faire vous les avez essayé : il y a la fonction .pop() mais ici on demande de la faire sans utiliser cette fonction afin de vous entraîner à l’algorithmie : c'est la dernière version de votre code. Si vous l'avez compris c'est bien, sinon dites-le.

    le 17/08/2017 à 20h01

  • nkeshimanabrice-37

    nkeshimanabrice-37

    pouvez-vous me corriger...

    le 08/01/2019 à 08h42

  • meriam

    meriam Administrateur

    bonjour, l'exercice demande de déterminer la longueur du tableau;

    le 10/01/2019 à 14h12

  • nacim_H

    nacim_H

    Bonjour, puis-je avoir un coup de main ?

    le 14/08/2018 à 02h07

  • mram

    mram Administrateur

    Quel est votre message d'erreur ? Ca sera plus facile pour vous aider.

    le 17/08/2018 à 06h33

  • eva-85

    eva-85

    Bonjour, je ne vois pas ce qui cloche dans mon code pouvez-vous m'aider svp : var result; for (var i =0;i < villes.length;i++) { result = villes[4]; alert(result); }

    le 22/02/2018 à 10h53

  • mram

    mram Administrateur

    Bonjour, pourquoi utiliser une boucle ici ? Ce n'est pas demandé dans les instructions.

    le 25/02/2018 à 01h19

  • Carine1972

    Carine1972

    J'ai réussi en lisant les com. Par contre, l'hsitoire du pop(), je ne comprends pas car il me semblait que pop servait à SUPPRIMER le dernier élément d'un tableau. Du coup, villes.pop() supprimerait la dernière ville, non ? Pourquoi certains veulent l'utiliser si on veut récupérer la ville et non la supprimer ??

    le 26/09/2017 à 18h16

  • mram

    mram Administrateur

    Bonjour, en fait elle fait les deux. Elle supprime le dernier élément et le récupère. Donc si on fait : var toto = tableau.pop() , toto contiendra le dernier élément qu'il y avait dans tableau (qui lui a donc un élément en moins).

    le 29/09/2017 à 02h23

  • ma.nicolas-46

    ma.nicolas-46

    J'ai validé l'exercice avec une boucle "for" puis "if"... mais en lisant les com, je me suis rendu compte que .pop() ne servait pas qu'à supprimer. C'est moi qui suis passé à côté ou ce n'était pas expliqué ?

    le 02/07/2018 à 15h27

  • mram

    mram Administrateur

    Bonjour, il n'y a pas besoin de boucle ici, le code peut tenir en une seule ligne.

    Pas besoin de parcourir le tableau entier pour récupérer le dernier élément si on sait comment y accéder.

    Pour y accéder, plusieurs méthodes sont possibles : celle que vous avez utilisé (en utilisant la longueur du tableau), avec pop() ...

    le 05/07/2018 à 05h04

  • armand1807

    armand1807

    c'est bon j'ignorais qu'on pouvais récupérer la derniere valeur avec.length-1 je pensais que length servais juste a déterminé la longueur

    le 18/08/2017 à 10h14

  • mram

    mram Administrateur

    Oui c'est bien à ça que sert "length" : récupérer le nombre d'éléments dans le tableau. Imaginons un tableau avec 5 éléments, "length" vaut donc 5 . Si on veut pointer et récupérer le dernier élément du tableau, il sera forcément à la position "length-1", donc [4] vu que le premier élément est à la position [0] etc. Donc "length" peut être aussi utiliser pour ça.

    le 22/08/2017 à 12h34

  • p.laber

    p.laber

    L'énoncé en 2 partie, d'ou les confusions, il faut lire la partie "exercice" ET la partie "leçon", sinon on ne peut pas deviner qu'il faut ramener dans result le dernier élément et non pas la longueur du tableau. (Je crois que serait plus clair avec 2 parties bien distinctes dans l'énoncé)

    le 11/10/2017 à 13h16

  • mram

    mram Administrateur

    Bonjour, l'énoncé c'est l'onglet "exercice". L'onglet "leçon" explique juste la théorie, la notion, le concept qui sera abordé.

    le 12/10/2017 à 16h27

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice rappel 9</title> <script src="script.js"></script> </head> <body> </body> </html>
var villes = ['paris', 'tokyo', 'strasbourg']