Exercice 27/38

Soit la variable var1 de type string et qui contiennent du texte.
Dans le fichier "script.js" :

  • déclarez la variable result;
  • récupérez dans result la position du mot "de" dans var1;
  • cliquez sur "Soumettre ma réponse".

Leçon 27/38

Il existe une fonction qui fait l'inverse de charAt, c'est indexOf();

À quoi ça sert ?

  • indexOf() retourne la position d'un caractère ou d'un mot que vous aurez spécifié;
  • la position est comptée à partir de zéro;
  • si la valeur recherchée apparaît plusieurs fois dans la chaîne, seule la première occurrence est retournée;
  • si la valeur n'est pas trouvée, indexOf() retourne -1;

Exemple :

var chaine1 = "Bonjour, comment ça va ?";
var resultat = chaine1.indexOf("ç");
alert(resultat); // Affiche 17

Remarque :

La fonction search() fait la même chose que indexOf() mais permet en plus de faire une recherche par expression régulière.

Commentaires les mieux notés

  • asmaboutouba-88

    Bonne réponse : var result = var1.indexOf("sit"); N 'affichez pas dans cette exercice alert(result)

  • justshiny0

    Bonjour! Un peu nouveau dans le domaine, j'avoue que je sèche totalement depuis plusieurs minutes et je ne trouve pas du tout d'ou vient le problème. var result = var1.indexOf("slt"); Merci d'avance pour l'aide apportée.

  • mram Administrateur

    Si si elle est bien déclarée. Dans l'exercice on ne vous demande pas d'utiliser alert(). De plus la variable est déclarée mais n'est pas accessible à l'utilisateur car son contenu ne doit pas être connu sinon l'exercice serait trop facile. Donc forcément, essayer d'afficher le contenu de la variable avec alert() ne donnera rien. Mais elle existe bien.

  • alexpers

    @mram : Merci pour votre réponse, ça confirme ce que je pensais :) Pouvez-vous préciser votre commentaire en début d'exercice, car c'est assez déstabilisant de ne pas pouvoir tester ce qu'on est en train d'apprendre :) Par exemple, vous pouvez mettre en Astuce : 'Testez votre exercice en mettant la variable "var1 = XXXXX" et utiliser "alert()"... Enfin comme vous voulez :)

12 Commentaires

  • asmaboutouba-88

    asmaboutouba-88

    Bonne réponse : var result = var1.indexOf("sit"); N 'affichez pas dans cette exercice alert(result)

    le 01/03/2018 à 13h18

  • justshiny0

    justshiny0

    Bonjour! Un peu nouveau dans le domaine, j'avoue que je sèche totalement depuis plusieurs minutes et je ne trouve pas du tout d'ou vient le problème. var result = var1.indexOf("slt"); Merci d'avance pour l'aide apportée.

    le 22/04/2017 à 18h51

  • mram

    mram Administrateur

    Si si elle est bien déclarée. Dans l'exercice on ne vous demande pas d'utiliser alert(). De plus la variable est déclarée mais n'est pas accessible à l'utilisateur car son contenu ne doit pas être connu sinon l'exercice serait trop facile. Donc forcément, essayer d'afficher le contenu de la variable avec alert() ne donnera rien. Mais elle existe bien.

    le 06/07/2016 à 19h11

  • alexpers

    alexpers

    @mram : Merci pour votre réponse, ça confirme ce que je pensais :) Pouvez-vous préciser votre commentaire en début d'exercice, car c'est assez déstabilisant de ne pas pouvoir tester ce qu'on est en train d'apprendre :) Par exemple, vous pouvez mettre en Astuce : 'Testez votre exercice en mettant la variable "var1 = XXXXX" et utiliser "alert()"... Enfin comme vous voulez :)

    le 07/07/2016 à 14h46

  • alexandra.dra

    alexandra.dra

    Ok je comprends ! Mais comme le dit @alexpers ça peut être un peu déstabilisant surtout au début de ne pas voir l'exécution de notre code (pas forcément sur cet exercice là mais sur d'autres) :) Merci pour la réponse !

    le 07/07/2016 à 16h58

  • alexandra.dra

    alexandra.dra

    Bonjour, A chaque exercice où la variable est déjà déclarée, et bien il me semble qu'elle n'est déclarée nulle part car lorsque j'exécute le script avec alert() rien ne s'affiche. Je suis obligée de déclarer les variables, d'exécuter le code (pour voir à quoi ça ressemble quand même :)) et de les supprimer pour passer à l'exercice suivant. Est-il possible de corriger ça ? C'est assez perturbant à chaque fois, et dans cet exercice là par exemple, impossible de vérifier mon résultat :(. Merci !

    le 06/07/2016 à 16h08

  • mram

    mram Administrateur

    Votre code est correct. Par contre on ne recherche pas le texte "slt" mais "sit" ...

    le 26/04/2017 à 14h49

  • markenzyh

    markenzyh

    bonjour,je ne crois pas m'être trompé mais j'ai pourtant une erreur.mon ,j'ai pourtant suivi la même logique que l'exercice précédent.

    le 04/12/2017 à 11h49

  • mram

    mram Administrateur

    Bonjour, si il faut mettre le texte entre guillemets car sinon pour Javascript ça devient une variable. Mais la variable sit n'existe pas.

    le 05/12/2017 à 11h15

  • bertrandroget

    bertrandroget

    Bonjour, on peut me m'aider! message d'erreur :" Avez-vous bien affecté le résultat à "result" ?"

    le 09/10/2017 à 11h29

  • bertrandroget

    bertrandroget

    c'est bon j'ai trouvé!! erreur de frappe

    le 09/10/2017 à 12h05

  • mickaelmangaud

    mickaelmangaud

    il y a un problème avec la variable "result" dans plusieurs des exercices

    le 28/09/2017 à 16h21

  • mram

    mram Administrateur

    Bonjour, la ligne 1 est inutile. La variable var1 contient déjà du texte.

    le 29/09/2017 à 02h57