Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercice voyelle

Sujet résolu
    21 février 2017 à 17:47:23

    Voici mon code pour l'exercice :

    function compterNbVoyelle(mot) {
      var nbVoyelle = 0;
      for (i = 0; i < mot.length; i++) {
        if (mot[i].toLowerCase() === "a" || mot[i].toLowerCase() === "e" || mot[i].toLowerCase() === "y" || mot[i].toLowerCase() === "u" || mot[i].toLowerCase() === "i" || mot[i].toLowerCase() === "o"); {
          nbVoyelle++;
        }
      }
      console.log(mot + " contient " + nbVoyelle + " voyelle(s) " + (mot.length - nbVoyelle) + " consonne(s).");
    }
    compterNbVoyelle("Fuck");

    Le résultat affiché : "Fuck contient 4 voyelle(s) 0 consonne(s)."

    J'ai un peu de mal à voir pourquoi, quelque soit la lettre, ma variable "nbVoyelle" s'incrémente. (d'après le débogueur)

    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2017 à 18:55:50

      Salut,

      je sais pas si ya plus simple mais tu peux faire ça

                  function compterNbVoyelle(mot) {
                      var nbVoyelle = 0;
                      for (i = 0; i < mot.length; i++) {
                          if (/[aeiouy]/i.test(mot[i])) {
                              nbVoyelle++;
                          }
                      }
                      console.log(mot + " contient " + nbVoyelle + " voyelle(s) " + (mot.length - nbVoyelle) + " consonne(s).");
                  }
                  compterNbVoyelle("Fuck");



      -
      Edité par maroufle34 21 février 2017 à 19:14:52

      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2017 à 19:02:45

        sitdownnow a écrit:

        Voici mon code pour l'exercice :

        function compterNbVoyelle(mot) {
          var nbVoyelle = 0;
          for (i = 0; i < mot.length; i++) {
            if (mot[i].toLowerCase() === "a" || mot[i].toLowerCase() === "e" || mot[i].toLowerCase() === "y" || mot[i].toLowerCase() === "u" || mot[i].toLowerCase() === "i" || mot[i].toLowerCase() === "o"); {
              nbVoyelle++;
            }
          }
          console.log(mot + " contient " + nbVoyelle + " voyelle(s) " + (mot.length - nbVoyelle) + " consonne(s).");
        }
        compterNbVoyelle("Fuck");

        Le résultat affiché : "Fuck contient 4 voyelle(s) 0 consonne(s)."

        J'ai un peu de mal à voir pourquoi, quelque soit la lettre, ma variable "nbVoyelle" s'incrémente. (d'après le débogueur)

        Il y a un point-virgule entre la parenthèse et l'accolade à la fin de la 4ème ligne, si tu l'enlèves ça fonctionne :)

        -
        Edité par herosdz 21 février 2017 à 19:03:05

        • Partager sur Facebook
        • Partager sur Twitter

        Mon message t'a aidé ? N'hésite pas à cliquer sur le bouton 👍.

          21 février 2017 à 19:49:45

          Une variante (avec moins de possibilité d'erreurs lorsque la fonction est plus concise) :

          function NbrVoyelles(mot) {
             return mot.length-mot.replace(/[aeiouy]+/g,'').length;
          }
          console.log (NbrVoyelles('oiseau'));



          -
          Edité par 007julien 21 février 2017 à 19:50:58

          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2017 à 23:13:02

            Je sais pas pourquoi j'ai foutu ce point-virgule ici.

            En tout cas merci pour vos réponses même si j'ai un peu mal à comprendre les autres écritures.

            • Partager sur Facebook
            • Partager sur Twitter

            Exercice voyelle

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown