0
votes

Écrivez une fonction qui accepte une chaîne et renvoie une nouvelle chaîne avec seulement les voyelles

J'ai besoin d'aide pour déterminer ce qui ne va pas avec mon code. Je pense que la logique a du sens, mais je ne sais pas pourquoi ça ne marche pas. xxx


3 commentaires

Votre code dit: Si la valeur à l'index i est égale à "A" ou si "E" est la vérité. Ce n'est pas la façon dont vous vérifiez si quelque chose est égal à beaucoup de choses.


Une expression régulière serait beaucoup plus propre


Stackoverflow.com/ Questions / 4728144 / ...


3 Réponses :


0
votes

Vous devez réparer la condition comme:

function vowelsOnly(str) {
  var string2 = "";
  for(var i = 0; i < str.length; i++){
  if(str[i] === "a" || str[i] === "e" || str[i] === "i" || str[i] === "o" || str[i] === "u"){
    string2 += (str[i]);
  }
  }
  return string2;
}


0 commentaires

0
votes

Vous devez répéter la condition complète à chaque fois que ceci:

function vowelsOnly(str) {
  var string2 = "";
  for(var i = 0; i < str.length; i++) { 
      if(str[i] === "a" || str[i] === "e" || 
      str[i] === "i" || str[i] === "o" ||
      str[i] === "u") { 
      string2 += (str[i]); 
      }
   }
 return string2; 
 }


0 commentaires

0
votes

Une autre solution est par réégycle et remplacer la méthode.

p>

function vowelsOnly(str) {
	return str.replace(/[^aeiouAEIOU]/gi, '')
}
console.log(vowelsOnly("hello"));


function disemvowel(str) {
return str.replace(/[aeiouAEIOU]/gi, '');
}
console.log(disemvowel("hello"));


0 commentaires