Compteur de mots (javascript débutant)

Fermé
kazute Messages postés 109 Date d'inscription samedi 9 avril 2016 Statut Membre Dernière intervention 12 novembre 2020 - Modifié le 17 sept. 2019 à 22:51
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 18 sept. 2019 à 00:12
Bonjour ,

e dois écrire une fonction compteMots3(s,sep) qui compte le nombre de mots séparés par les séparateurs contenus dans la chaîne sep.

NB: Auparavant j'ai du ecrire une fonction compteMots(s) et compteMots2(s) permettent de compter le nombre de mots séparés par un seul espace dans une chaîne s et permettant de compter le nombre de mots séparés par un espace au moins contenu dans la chaîne s.

Voici la premiere compteMots(s)
Code :
function compteMots(s){
  var words = s.split(' ');
  return words.length;
}

La seconde compteMots2(s)
Code :
function compteMots2(s){
  var i =0;
  var compte =0;
  while(i<s.length){
    if(s[i]==' '){
      i++;
    }
    else{
      compte += 1;
      while(s[i]!= ' '){
        i++;
      }
    }
 
  }
  return compte;
}


Pour ces deux ci-dessus, elles fonctionnent et je bloque sur la troisième compteMots3(s,sep).
Voici ce que j'ai fait :

Code :

function compteMots3(s,sep){
  var i;
  var j;
  var compte=0;
  for(j=0;j<s.length;j++){ 
    for(i=0;i<sep.length;i++){
      if(s[j]==sep[i]){
        j++;
      }
      if(s[j]!=sep[i]) {
        compte +=1;
        while(s[j]!=sep[i]){
          j++;
        }
      }
    } 
  }
  return compte;
}

Voici les exemples donnés par le prof :

compteMots('la maman de Colette et de Daniel'); // 7

compteMots2(' la maman de Colette et de Daniel '); // 7

compteMots3('Ceci, mais oui, est une phrase !', ' !,') // 6

Si vous pouviez m'éclairer ou même me proposer une solution.

Cordialement !
A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
17 sept. 2019 à 23:51
Bonjour
C'est la même chose que ta première fonction...à la différence que tu mets le separateur (sep) dans le split
au lieu de (' ')
0
kazute Messages postés 109 Date d'inscription samedi 9 avril 2016 Statut Membre Dernière intervention 12 novembre 2020 20
18 sept. 2019 à 00:00
oui seulement la il peut y avoir plusieurs séparateur et je ne peux pas mettre de boucle pour split plusieurs fois si ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > kazute Messages postés 109 Date d'inscription samedi 9 avril 2016 Statut Membre Dernière intervention 12 novembre 2020
18 sept. 2019 à 00:12
Tu peux boucler...
Ou mieux..utiliser une regex dans le split
0