Exercice 7/11

Soit texte la variable qui contient la chaîne de caractère et la variable position qui contient la position à partir de laquelle il faut extraire le reste de la chaine de caractères.

Dans le fichier "script.js" :

  • créez la fonction extrait avec deux arguments txt puis pos;
  • la fonction doit retourner tout le reste de la chaîne à partir de la position position (voir astuce);
  • cliquez sur "Soumettre ma réponse".

Leçon 7/11

Dans cet exercice il faut faire une fonction qui extrait une partie d'une chaîne de texte.

slice()

Commentaires les mieux notés

  • mram Administrateur

    Idem ici, ligne 4 "return = ..." suffit car ligne 6 vous affectez le résultat de la fonction à "recup".

  • mram Administrateur

    Ligne 3, où vous utilisez les arguments, il faut un ";" à la fin...

  • mram Administrateur

    Comme j'ai dit précédemment : "txt" et "pos" sont les noms des arguments à mettre quand vous déclarez / construisez la fonction. Quand vous exécutez la fonction la valeur qui leur sera affectée sera celle que vous indiquerez à ce moment : c'est à dire respectivement les variables "texte" et "position".

  • jenebakone

    bonsoir on me demande si j'ai bien ajouté les 2 arguments dans la fonction.J'ai beau essayé de suivre vos indications au travers de vos commentaires dans les exercices précédent mais je me retrouve avec des messages d'erreurs encore plus complexe.Ou se situe mon erreur?Merci

32 Commentaires

  • mram

    mram Administrateur

    Idem ici, ligne 4 "return = ..." suffit car ligne 6 vous affectez le résultat de la fonction à "recup".

    le 16/11/2016 à 19h40

  • mram

    mram Administrateur

    Ligne 3, où vous utilisez les arguments, il faut un ";" à la fin...

    le 06/09/2016 à 17h18

  • mram

    mram Administrateur

    Comme j'ai dit précédemment : "txt" et "pos" sont les noms des arguments à mettre quand vous déclarez / construisez la fonction. Quand vous exécutez la fonction la valeur qui leur sera affectée sera celle que vous indiquerez à ce moment : c'est à dire respectivement les variables "texte" et "position".

    le 19/10/2016 à 10h50

  • jenebakone

    jenebakone

    bonsoir on me demande si j'ai bien ajouté les 2 arguments dans la fonction.J'ai beau essayé de suivre vos indications au travers de vos commentaires dans les exercices précédent mais je me retrouve avec des messages d'erreurs encore plus complexe.Ou se situe mon erreur?Merci

    le 29/10/2016 à 22h04

  • mram

    mram Administrateur

    Ligne 6, pourquoi avez-vous mis la valeur 3 ?? Relisez les instructions.

    le 30/08/2016 à 20h35

  • mram

    mram Administrateur

    Et, toujours ligne 6, pourquoi utiliser slice() ? c'est juste à utiliser dans la fonction comme c'est fait ligne 4.

    le 19/10/2016 à 10h50

  • jenebakone

    jenebakone

    c'est bon j'ai enfin trouvé mon erreur.

    le 29/10/2016 à 22h53

  • mram

    mram Administrateur

    Non, il ne faut pas utiliser les variables "texte" et "position" quand vous construisez la fonction mais au moment de son exécution à la ligne 6.

    le 19/10/2016 à 10h48

  • mathieu.finocchiaro

    mathieu.finocchiaro

    var recup; function extrait(txt,pos) { recup = txt.slice(pos); return recup } extrait("blabla",1); alert(recup); mm msg que l'exercice précédent hors cela fonctionne

    le 16/12/2016 à 15h03

  • mram

    mram Administrateur

    C'était aussi la même erreur, c'est bien corrigé.

    le 31/10/2016 à 18h32

  • mram

    mram Administrateur

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

    le 18/12/2016 à 18h38

  • y.redjah

    y.redjah

    encore le même problème le code fonctionne mais on me demande si j'ai bien utilisé les 2 arguments de la fonction function extrait(txt,pos) { return txt.slice(pos) } recup = extrait ("Yannis",3); alert(recup);

    le 28/04/2017 à 13h18

  • y.redjah

    y.redjah

    j'ai rajouté le ";" que j'avais oublié à la fin de la ligne return mais j'ai toujours un message d'erreur pourtant le code fonctionne

    le 28/04/2017 à 13h23

  • mram

    mram Administrateur

    Bien vu pour le ";" mais le souci vient du fait que vous utilisez (ligne 5) vos propres valeurs au lieu d'utiliser les variables qu'on vous demande. Sinon le code est correct.

    le 28/04/2017 à 15h57

  • y.redjah

    y.redjah

    c'est bon j'ai trouvé ^^

    le 28/04/2017 à 16h23

  • bsmeyers84

    bsmeyers84

    correction faite tes même message: AVEZ VOUS UTILISE LES 2 ARGUMENTS DANS LA FONCTION

    le 05/09/2016 à 16h02

  • cdezandee

    cdezandee

    var recup; function extrait (txt,pos) { return recup = txt.slice(pos); } recup = extrait(texte,position); alert(recup);

    le 15/11/2016 à 12h09

  • bsmeyers84

    bsmeyers84

    voici le message qui s'affiche AVEZ VOUS UTILISE LES 2 ARGUMENTS DANS LA FONCTION

    le 26/08/2016 à 17h36

  • mram

    mram Administrateur

    Votre ligne 3 est fausse, il faut utiliser "return" pour retourner ce que vous mettez ensuite, or après il y a un ; donc l'instruction est terminée et ça ne "return" pas ce qu'on souhaite ...

    le 26/08/2016 à 19h31

  • patricerameaux

    patricerameaux

    toujours pareil : lien entre pos et txt et position et texte : je nage : pour moi il s'agit d'une forme de changement de variable

    le 18/10/2016 à 09h58

  • mram

    mram Administrateur

    Comme je viens de le préciser à l'exercice précédent : "txt" et "pos" sont les noms des arguments à mettre quand vous déclarez / construisez la fonction. Quand vous exécutez la fonction la valeur qui leur sera affectée sera celle que vous indiquerez à ce moment : c'est à dire respectivement les variables "texte" et "position".

    le 18/10/2016 à 10h01

  • willy.julan

    willy.julan

    bonjour j'ai ce message : Cannot read property 'indexOf' of undefined, fait un test avec des valeurs et cela fonctionne bien !!

    le 27/07/2016 à 15h29

  • patricerameaux

    patricerameaux

    ça c'est OK mais je ne comprends toujours pas à quel moment a lieu l'affectation entre txt et texte et entre pos et position à part ça la syntaxe ne me pose pas de problème

    le 18/10/2016 à 10h52

  • mram

    mram Administrateur

    Pouvez-vous essayer, à priori c'est bon maintenant... ?

    le 27/07/2016 à 17h36

  • mram

    mram Administrateur

    Elle a lieu ligne 6 mais vous ne l'avez pas fait... vous utilisez la fonction sans arguments.

    le 18/10/2016 à 13h21

  • patricerameaux

    patricerameaux

    là normalement le code est bon mais il me retourne "slice is not defined"

    le 18/10/2016 à 14h26

  • patricerameaux

    patricerameaux

    ok et maintenant le code est-il bon ?

    le 19/10/2016 à 10h16

  • bsmeyers84

    bsmeyers84

    correction faite cela ne fonctionne tjs pas

    le 30/08/2016 à 15h49

  • dabernier44-12

    dabernier44-12

    Est ce possible de répondre au pb ainsi : var recup; function extrait(txt,pos) { recup = txt.substr(pos); return recup; } extrait(texte,position); alert(recup);

    le 12/02/2018 à 14h58

  • mram

    mram Administrateur

    Bonjour, il y a des subtilités entre .slice() et substr() qui sont survolées normalement dans les premiers exercices JS. Mais globalement elles font la même chose donc il serait possible de faire l'exercice avec substr() mais ici il faut utiliser slice() .

    le 15/02/2018 à 23h33

  • doucette.manon

    doucette.manon

    Message d'erreur: Avez-vous utilisé les 2 arguments dans la fonction ? Mon code : var recup; function extrait(txt,pos) { recup = txt.slice(pos); return recup; } extrait("Manon",4); alert(recup);

    le 11/09/2018 à 10h03

  • mram

    mram Administrateur

    Il ne faut pas utiliser "recup" dans la fonction, mais plutot ligne 7 :

    > recup = extrait("blabla",5);

    le 15/09/2018 à 07h29

  • mram

    mram Administrateur

    Et surtout, il faut utiliser les variables "texte" et "position" ligne 7 à la place de vos valeurs.

    le 15/09/2018 à 07h30

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice pratique 2</title> <script src="script.js"></script> </head> <body> </body> </html>
var texte = "Lorem ipsum dolor sit amet"; var position = 13; var recup; /* Votre fonction extrait ici */ recup = extrait(texte, position); alert(recup);