Exercice 10/11

Soit texte la variable qui contient une chaîne de caractères.

Dans le fichier "script.js" :

  • créez la fonction convert avec un argument txt;
  • la fonction doit convertir la chaîne de caractères en un tableau contenant un mot par case (voir astuce);
  • cliquez sur "Soumettre ma réponse".

Leçon 10/11

Dans cet exercice il faut faire une fonction qui convertit une chaîne de caractères en un tableau.

split()

Commentaires les mieux notés

  • mram Administrateur

    Ligne 4, il faut indiquer qu'on souhaite découper la chaîne de caractères en utilisant le caractère espace.

  • mram Administrateur

    Lisez mon dernier commentaire et vous aurez la réponse :)

  • mathieu.finocchiaro

    pourtant le resultat s'affiche dans mon IDE perso

  • pascal-ds

    il faudrait dire dans l'énoncé quel séparateur doit-être utilisé... ici l'espace fonctionne mais cela pourrait être "," ";" "-", etc.

32 Commentaires

  • mram

    mram Administrateur

    Ligne 4, il faut indiquer qu'on souhaite découper la chaîne de caractères en utilisant le caractère espace.

    le 29/05/2017 à 14h31

  • mram

    mram Administrateur

    Lisez mon dernier commentaire et vous aurez la réponse :)

    le 06/09/2016 à 17h19

  • mathieu.finocchiaro

    mathieu.finocchiaro

    pourtant le resultat s'affiche dans mon IDE perso

    le 16/12/2016 à 15h21

  • pascal-ds

    pascal-ds

    il faudrait dire dans l'énoncé quel séparateur doit-être utilisé... ici l'espace fonctionne mais cela pourrait être "," ";" "-", etc.

    le 02/09/2016 à 11h37

  • mram

    mram Administrateur

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

    le 18/12/2016 à 18h40

  • mathieu.finocchiaro

    mathieu.finocchiaro

    var recup; function convert(txt) { recup = txt.split(); return recup; } convert(texte); alert(recup); idem... je n'arrive pas a trouver l'erreur qui me poursuit depuis l'exo 5

    le 16/12/2016 à 15h21

  • daminoweb

    daminoweb

    C'est un peu soulant cette difficulté à non pas réussir la fonction mais réussir à répondre au correcteur automatique. Difficulté d'interprété l'instruction exacte même si l'on a compris le but de l'exercice. Encore et toujours un message d'erreur : var recup; function convert (txt) { recup = txt.split(' '); return; } convert("tototo csrc"); alert(recup); Cela vient à mon avis de l'instruction n°4 dont je dois mal interprété les demandes. Merci de proposer la correction.

    le 30/11/2016 à 15h04

  • mram

    mram Administrateur

    Il faut mettre les lignes 3 et 4 sur une seule ligne. Si la notion du "return" n'est pas claire, n'hésitez pas à relire la description de l'exercice qui présente ce concept.

    le 30/08/2016 à 20h40

  • daminoweb

    daminoweb

    Ok j'ai compris mais c'est un peu pénible cette rigueur de syntaxe.

    le 30/11/2016 à 15h15

  • mram

    mram Administrateur

    Oui éventuellement. Mais sachant que l'on souhaite convertir une chaîne de caractères et les mots dans une phrase étant séparés par un espace (or ponctuation c'est vrai), cela est la première chose à tester. Mais il est vrai que ça pourrait être un autre séparateur, par exemple la virgule "," pour séparer 2 portions d'une longue phrase.

    le 04/09/2016 à 13h47

  • mram

    mram Administrateur

    Alors, la rigueur de syntaxe est nécessaire pour apprendre à écrire un code lisible et intelligible. C'est très utile quand on doit lire des fichiers complets avec des structures de contrôle sur plusieurs niveaux, etc. Par contre, ce qui va être revu, c'est que les erreurs de syntaxe ne soient plus bloquantes pour la validation d'un exercice, mais juste affichées à titre d'information.

    le 30/11/2016 à 16h59

  • y.redjah

    y.redjah

    le code me semble correct mais j'ai un message d'erreur avez vous bien utilisez txt dans la fonction function convert (txt) { return txt.split(); } recup = convert (texte); alert(recup);

    le 28/04/2017 à 16h50

  • bsmeyers84

    bsmeyers84

    tous le meme message

    le 05/09/2016 à 16h18

  • bsmeyers84

    bsmeyers84

    tjs le même message

    le 05/09/2016 à 16h19

  • mram

    mram Administrateur

    Alors, ligne 3 il faut préciser qu'on veut séparer (via la fonction split) en se basant sur le caractère "espace" donc il faut mettre en paramètre de la fonction : " " (qui est donc un espace simple). et ligne 5 il faut coller les parenthèses au nom de la fonction, comme pour split().

    le 04/05/2017 à 12h04

  • Trov

    Trov

    AVEZ-VOUS UTILISÉ L'ARGUMENT "TXT" DANS LA FONCTION ?, je ne comprend pas trop où ça cloche...

    le 12/10/2016 à 16h13

  • ch.r

    ch.r

    À noter qu'ici, split() n'accepte que le simple guillemet ' et non pas le double guillemet "

    le 13/10/2016 à 19h55

  • mram

    mram Administrateur

    @Trov : il faut mettre des guillemets simples. La correction ne vérifie pas les guillemets doubles dans ce cas précis, mais il est possible de les utiliser en général...

    le 16/10/2016 à 23h50

  • willy.julan

    willy.julan

    Bonjour, message d'erreur :missing ) after argument list j'ai fait des tests le code fonctionne bien !

    le 27/07/2016 à 16h05

  • mram

    mram Administrateur

    ça devrait être bon maintenant ...

    le 27/07/2016 à 17h48

  • danderhy3

    danderhy3

    var recup; function convert(txt) { return txt.split(''); } convert(texte); alert(recup); AVEZ-VOUS UTILISÉ L'ARGUMENT "TXT" DANS LA FONCTION ?

    le 20/05/2017 à 10h55

  • bsmeyers84

    bsmeyers84

    AVEZ-VOUS UTILISÉ L'ARGUMENT "TXT" DANS LA FONCTION ?

    le 30/08/2016 à 15h54

  • philgd28

    philgd28

    Bonjour, mon code fonctionne sous JSBin. Est ce que pour vous c'est bon aussi, car j'ai se méssage "Avez-vous utilisé l'argument "txt" dans la fonction ?. Merci

    le 10/08/2017 à 10h08

  • mram

    mram Administrateur

    Bonjour, dans la fonction split() il faiut préciser quel caractère sera utiliser pour diviser la chaîne de caractères : dans notre cas on souhaite que ce soit le caractère espace.

    le 16/08/2017 à 10h19

  • 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, le nom de la fonction doit être collé aux parenthèses qui contiennent les paramètres. Et vous bouliez de préciser quel caractère vous aller utiliser pour découper la chaîne de caractères.

    le 12/03/2018 à 00h19

  • veronique.nollet

    veronique.nollet

    Bonjour, votre réponse ne me dit pas ce qu'il convient de faire avec les guillemets : espace entre ou non, et guillemets double ou simple ?

    le 14/05/2018 à 18h58

  • mram

    mram Administrateur

    Bonjour, guillemets doubles ou simples peu importe, on vérifie les 2 options donc de ce côté ça passera.

    le 18/05/2018 à 05h32

  • mram

    mram Administrateur

    La fonction split() prend un paramètre (de type string, d'où les guillemets) : le caractère que vous souhaitez utiliser pour découper la chaîne de texte en éléments d'un tableau.

    le 18/05/2018 à 05h34

  • mram

    mram Administrateur

    Et le caractère le plus évident est l'espace, ça permet de découper par exemple le texte suivant : "Il fait beau" en un tableau ["il", "fait", "beau"].

    le 18/05/2018 à 05h36

  • mram

    mram Administrateur

    Mais on peut utiliser n'importe quel caractère présent dans le texte pour le découper : une lettre, un signe de ponctuation, etc.

    le 18/05/2018 à 05h36

  • bernardraphael13

    bernardraphael13

    bonjour "Avez-vous utilisé l'argument "txt" dans la fonction ? comme erreur pouvez vous m'aider, split a 2 arguments ok le premier à " " et le second, je ne vois pas quoi écrire ? merci d'avance

    le 27/06/2017 à 10h22

  • mram

    mram Administrateur

    Bonjour, votre code est juste. En utilisant split on peut utiliser les doubles guillemets ou les simples .split(' '). Ici on ne vérifie que les simples, c'est un peu strict je le conçois.

    le 29/06/2017 à 17h03

  • veronique.nollet

    veronique.nollet

    Bonjour, je n'arrive pas à valider mon script : var recup; function convert(txt) { return txt.split(""); } convert(texte); alert(recup); j'ai essayé un espace ou non entre les deux séries de guillemets et des guillemets simples.

    le 08/05/2018 à 19h14

  • mram

    mram Administrateur

    Bonjour, la fonction .split() prend toujours un paramètre dans les parenthèses. En l'occurrence c'est le caractère (entre guillemets) qui va servir à découper le texte en plusieurs éléments d'un tableau.

    le 14/05/2018 à 02h27

  • bretel.val

    bretel.val

    "Avez-vous utilisé l'argument "txt" dans la fonction ?", je ne vois pas ce qui cloche.

    le 15/06/2017 à 15h03

  • mram

    mram Administrateur

    Je pense qu'il faut préciser comment on split la chaîne de caractères. Avec le caractère espace dans cet exercice. Donc il faut split(" ")

    le 21/06/2017 à 15h19

  • philgd28

    philgd28

    Bon toujours la même erreur, même avec le caractère espace ... pas simple d'avancer ...

    le 17/08/2017 à 16h39

  • mram

    mram Administrateur

    Et avec des guillemets simples ??

    le 17/08/2017 à 20h23

  • danderhy3

    danderhy3

    var recup; function convert(txt) { return txt.split(' '); } convert(texte); alert(recup); j ai mis un espace

    le 14/07/2017 à 17h34

  • mram

    mram Administrateur

    Bonjour, ligne 6 il faut en même temps affecter à "recup" ce que retourne la fonction.

    le 16/07/2017 à 11h10

  • khd69-20

    khd69-20

    bonjour je ne comprend mon erreur ("recup" ne contient pas la valeur attendue). Voici mon code : var recup; function convert (txt) { return txt.split(''); } recup = convert (texte); alert(recup);

    le 03/08/2018 à 00h36

  • mram

    mram Administrateur

    Bonjour, il faut utiliser le caractère "espace" pour diviser la chaîne de texte.

    le 13/08/2018 à 03h13

  • momocaylus-90

    momocaylus-90

    var recup; function convert(txt) { return txt.split(' '); } recup = convert(texte); alert(recup);

    le 03/11/2018 à 10h49

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