¿Cómo contar las vocales en una cadena Javascript con dos funciones?
Estoy tratando de escribir una función Javascript que cuente las vocales en una cadena llamando a otra función dentro de esa función, pero cuando la pruebo en la consola, devuelve 0.
Aquí está mi primera función que funciona bien y reconoce si una cadena es una vocal:
function isVowel(ch){
var pattern = /[aeiouAEIOU]/
return pattern.test(ch);
};
Para la segunda función, ninguna de mis ideas ha funcionado. Aquí hay algunos ejemplos de lo que he probado hasta ahora:
Este me devuelve un 0:
function countVowels(str){
var count = 0;
for(var i; i <= str.length; ++i){
if(isVowel(i)){
++count;
}
}
return count;
};
También probé lo anterior, pero eliminando .length después de str en el área for ().
Otro ejemplo, pero este me da un error:
function countVowels(str){
var count = 0
var pattern = /[aeiouAEIOU]/
for(var i = 1; i <= str.length(pattern); ++i){
if(isVowel(i)){
++count;
}
}
return count;
};
También probé varias otras funciones, pero por mantener esta publicación relativamente corta no continuaré publicándolas. Soy bastante nuevo en Javascript y no estoy seguro de lo que estoy haciendo mal. Cualquier ayuda sería muy apreciada!