Exercice 29/38
Soit la variable var1
de type string et qui contiennent le texte suivant
Lorem ipsum dolor sit amet
Dans le fichier "script.js"
:
- déclarez les variables
result1
etresult2
; - exportez le texte
ipsum
dansresult1
en utilisantslice()
; - exportez toute la chaîne à partir du
d
dansresult2
en utilisantslice()
; - cliquez sur "Soumettre ma réponse".
Leçon 29/38
Dans une chaîne de caractères, il peut être utile de récupérer une partie du contenu avec la fonction slice()
.
À quoi ça sert ?
slice()
récupère une partie d'une chaîne de caractères;- la sélection du texte à extraire utilise la position des caractères dans la chaîne (le premier caractère étant à la position 0);
- la position de début est obligatoire, la position de fin est optionnelle et exclusive (le caractère correspondant ne sera pas sélectionné);
- si la position de fin n'est pas indiquée, tous les caractères jusqu'à la fin de la chaîne seront récupérés à partir de la position de début;
- il est possible de commencer par la fin de la chaîne de caractères en utilisant des chiffres négatifs;
Exemple :
var chaine = "Voici du texte";
var resultat1 = chaine.slice(1,4); // Affiche "oic"
var resultat2 = chaine.slice(0,5); // Affiche "Voici"
var resultat3 = chaine.slice(1); // Affiche "oici du texte"
Commentaires les mieux notés
yehia.maxime
yehia.maxime
bonjour mram, j'arrive pas a trouver le bon résultat pourtant j'ai recompté 100 fois
yacine
J'ai trouvé!
aure_max
j'ai finis par réussir l'exercice mais je ne comprend pas, si pour result1 c'est 6, ce cas il doit y avoir l'espace avant le mot
54 Commentaires
yehia.maxime
merci du tuyau !!le 09/01/2017 à 18h19
yehia.maxime
bonjour mram, j'arrive pas a trouver le bon résultat pourtant j'ai recompté 100 foisle 09/01/2017 à 06h16
yacine
J'ai trouvé!le 12/01/2017 à 19h42
aure_max
j'ai finis par réussir l'exercice mais je ne comprend pas, si pour result1 c'est 6, ce cas il doit y avoir l'espace avant le motle 15/01/2017 à 15h03
mram Administrateur
C'est noté et corrigé, l'exercice sera mis à jour.
le 19/05/2016 à 21h31
v.redois
"Avez-vous bien affecté le bon texte à "result2" ?" Oui.le 19/05/2016 à 21h30
jean-francois.monti
bonjour je ne comprend pas " avez-vous bien affecté slice" j'ai bien compté en partant de zero ???le 06/10/2016 à 17h18
yacine
Bonjour je ne comprends pas mon erreur.le 12/01/2017 à 19h24
jean-francois.monti
L'exercice a une faille ?le 06/10/2016 à 17h39
Fernanth
var result1=var1.slice(6,10); var result2=var1.slice(12); ou est mon erreur ?le 17/01/2017 à 11h42
ordy225
bsr je suis Perdu totalement je ne sais plus où mettre la tête car elle vraiment casser deux heures de fouille var result1=var1.slice(6); var result2=var1.slice(12);le 27/04/2017 à 02h28
mram Administrateur
C'est le 10 qui n'est pas bon, n'oubliez pas que la position de fin est exclusive.
le 17/01/2017 à 22h11
ordy225
Merci j'ai trouver la solution je devais simplement fais attention à l'explication et à l'exemple. Merci!le 27/04/2017 à 20h56
mram Administrateur
Ligne 2, pourquoi mettre 25 puisque de toute façon on va jusqu'au bout du texte ?
le 10/10/2016 à 12h57
veronicalavroff
je ne comprends pas mon erreur!le 07/07/2016 à 01h29
enzo44200
Bobjout mram , pourriez vous m'aider please ?le 01/12/2016 à 08h53
mram Administrateur
Les espaces doivent être pris en compte aussi.
le 07/07/2016 à 20h14
mram Administrateur
Ligne 1, n'oubliez pas qu'on compte à partir de zéro, donc ce n'est pas "5" qu'il faut mettre. Ligne 2, il y a juste un nombre à mettre : la position du 1er caractère du texte que l'on souhaite récupérer.
le 02/12/2016 à 13h46
spirit.sandrine
bonjour, je ne comprends pas mon erreur ?le 13/10/2016 à 10h08
debora.arjona
Je comprends pas pourquoi, c'est pas bon mon résultat?le 31/12/2016 à 17h08
romainmathieu
Bonjour, je ne vois pas mon erreur. un petit coup de main svple 24/10/2016 à 14h44
mram Administrateur
Et non, le "10" n'est pas correct. N'oubliez pas que la position indiquée par ce nombre est exclusive, donc le caractère correspondant n'est pas pris en compte.
le 02/01/2017 à 14h46
mram Administrateur
Vous n'utilisez pas les bons chiffres, il faut compter à partir de zéro.
le 25/10/2016 à 21h21
kgalexis
Je ne vois pas mon erreur ?!le 16/10/2016 à 14h04
khaera.belkadi
var result1 = var1.slice(4,9); var result2 = var1.slice(10); je ne comprends pas mon erreur. pouvez-vous m'aider?le 08/12/2016 à 10h02
khaera.belkadi
C'est bon je bien de trouvez mon erreur.le 08/12/2016 à 10h09
mram Administrateur
Relisez les explications : la 2ème position dans slice() est exclusive...
le 17/10/2016 à 00h04
mram Administrateur
Bonjour, n'oubliez pas qu'on compte à partir de zéro et que les espaces sont compris dedans.
le 09/01/2017 à 12h34
patricerameaux
il me semble que le code est bon pourtant : j'ai essayé en déclarant var1 comme ci-dessus et en l'utilisant directement mais rien n'y faitle 05/10/2016 à 15h10
mram Administrateur
Attention, "var1" existe déjà et n'a pas besoin d'être déclarée, votre ligne 1 n'est pas nécessaire.
le 05/10/2016 à 21h06
mram Administrateur
Et n'oubliez pas qu'il faut commencer à 0 pour compter le nombre de caractères.
le 05/10/2016 à 21h07
viesephora
var result1 = var1.slice(6); var result2 = var1.slice(12); bonsoir j'ai un probleme avec mon result1. j'augmenté reduit les espaces, changé les valeur eventuellement fait un copier collé des mots a écrire car je pensai avoir fait une faute d'orthographe rien y faitle 14/11/2017 à 16h38
mram Administrateur
Bonjour, à la première ligne il faut indiquer deux paramètres à slice() mais vous n'en mettez qu'un seul.
le 16/11/2017 à 18h33
alexismoquet
var var1="Lorem ipsum dolor sit amet"; var result1= var1.slice(5,11); var result2= var1.slice(12);le 02/10/2017 à 12h14
mram Administrateur
Bonjour, le chiffre 5 n'est pas correct.
le 03/10/2017 à 22h03
alexismoquet
est-ce bon ? ca fonctionne avec l'executionle 02/10/2017 à 12h15
mram Administrateur
Bonjour, le chiffre 5 n'est pas correct.
le 03/10/2017 à 22h04
vfaiola-21
hello, je ne vois pas mon erreur ;-) merci d'avancele 27/07/2018 à 14h35
mram Administrateur
Ajoutez un espace après le signe =
le 01/08/2018 à 05h45
ou.broly-83
A quoi ça correspond ? Je ne comprends pasle 27/07/2018 à 15h06
mram Administrateur
Les chiffres correspondent à la position des caractères dans le texte, espaces compris. Et on compte à partir de zéro.
Exemple : "Toto fait du vélo".
Le "f" est à la position 5.
le 01/08/2018 à 05h48
ludovicthiolet
Bonjour vboici mon code : "var result=var1.slice(6,11); var result=var1.slice(12);" Pourriez vous me dire EXACTEMENT où est mon erreur. Je compte bien à partir de 0 et je compte également les espaces.le 04/10/2017 à 14h35
mram Administrateur
Bonjour, vous comptez bien mais vous n'aviez pas déclaré les variables correctement.
le 09/10/2017 à 00h13
ludovicthiolet
C'est bon j'ai trouvé mon erreur. J'avais bien compté mais UNE FOIS DE PLUS, j'ai été trompé par l'exemple de la leçon comme pour la leçon 28. Dans la leçon 28 on nous montre " var result1=..." et "var result2=..." alors qu'en fait dans l'exercice il ne fallait pas écrire "var result1=..." et "var result2=..." mais "var result=...". Et dans cette exercice finalement il faut bien faire comme dans la leçon et bien écrire "var result1=..." et "var result2=...". Franchement j'ai du mal à suivre la logique la dedans. Quand on nous dit à la réunion d'information qu'il faut 30 heures pour faire cette pré-formation j'ai beaucoup de mal à y croire vu les incohérences.le 04/10/2017 à 14h45
mram Administrateur
Bonjour, pour faire les exercices il faut suivre les instructions, et donc faire la différence avec la partie théorie. Si vous suivez les instructions, normalement ça devrait aller.
le 09/10/2017 à 00h15
lercat-63
Bonjour; il y a un truc que j'aimerai savoir; est-ce que les espaces comptent ?le 13/06/2018 à 19h06
mram Administrateur
Bonjour, oui ils comptent.
le 19/06/2018 à 04h37
mapmaya-7
Bonjour, pouvez-vous vérifier mon exercice ? voici le message d'erreur : Avez-vous utilisé la fonction slice() correctement dans les deux cas ?,Avez-vous bien affecté le bon texte à "result1" ?,Avez-vous bien affecté le bon texte à "result2" ?le 18/05/2018 à 13h50
mram Administrateur
Bonjour, n'oubliez pas que l'on compte à partir de zéro.
le 23/05/2018 à 06h50
florentin.cambou
J'ai réussis l'exo après quelques minutes ou je me creuser la tête , juste poser vous sur la leçon regarder comment dans la leçon est compter les caractères et vous verrais c'est juste hyper simple quand je me suis aperçus de mon erreur je me suis dis " ah quel con " donc pour vous dire c'est vraiment simplele 16/08/2017 à 21h54
mram Administrateur
Oui, malheureusement beaucoup de personnes passent trop vite les instructions et font des erreurs qui pourraient être éviter afin de ne pas se démotiver.
le 17/08/2017 à 16h05
abdallahbarryt5
j'ai en fin trouvé après 5min de comptagele 27/09/2017 à 17h25
khalidb
bonjour il y a trop d'erreur sur plusieurs exercice qui me fait perdre un temps enorme cela m'inquiete pour la suitele 04/12/2017 à 20h34
mram Administrateur
Bonjour, il faut bien prendre le temps de lire l'énoncé. Au début vos chiffres donnés en paramètres de slice() n'étaient pas les bons. Mais vous avez fini par trouver c'est bien.
le 05/12/2017 à 11h21
julien-demaria
bonjour, je ne comprends pas mon erreur : var result1 = chaine.slice(6,10); var result2 = chaine.slice(11);le 08/08/2017 à 16h49
mram Administrateur
Bonjour, les nombres 10 et 11 ne sont pas corrects.
le 09/08/2017 à 11h38
kahor-95
Je ne comprend pas mon erreurle 09/02/2018 à 18h51
mram Administrateur
Bonjour, sur la première ligne, un des paramètres n'est pas le bon.
le 12/02/2018 à 21h50
leon.thom-33
Bonsoir, vous pouvez m'aiderle 10/02/2018 à 20h59
mram Administrateur
Bonjour, votre code semble correct. Quelle erreur avez-vous ?
le 12/02/2018 à 21h57
radiere.theo-90
bonjour, vous expliquez que la fin est exclusive, mais dans l'exemple le résultat indiqué n'exclu pas les derniers caractères indiqués dans la demande de slice....le 30/03/2018 à 09h15
mram Administrateur
Bonjour, si c'est bien le cas. Il y a trois exemples. Duquel parlez-vous ?
le 01/04/2018 à 02h40
radiere.theo-90
c'est en fait la position de départ qui est exclusive, et non la position de fin !le 30/03/2018 à 09h20
mram Administrateur
Non la position de départ n'est pas exclusive, mais attention on compte à partir de zéro. Si on met texte.slice(6,11) on extrait le texte à partir du 7ème caractère jusque'au 11ème caractère (qui est à la position 10 dans le tableau). Le 12ème caractère (position 11 du tableau) n'est pas extrait.
le 01/04/2018 à 02h45
ari
J'ai compté correctement dès le départ et ça ne marche pas il y avait une erreur dans mon code, j'avais marqué slice.var1 au lieu de l'inverse comme quoi il faut toujours relire son code^^le 11/10/2017 à 17h12
vi.sivathree-71
le bon code: var result1=var1.slice(6,11); var result2=var1.slice(12);le 27/11/2019 à 15h07
merci du tuyau !!