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.
3 Réponses :
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;
}
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;
}
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"));
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 / ...