Hoy vamos a ver cómo contar las vocales de una cadena en JavaScript. A partir de una cadena vamos a realizar el conteo de las vocales. El ejercicio dice así:
Escribe una función de JavaScript que acepte una cadena como parámetro y cuente el número de vocales dentro de la cadena.
Toma en cuenta que solo vamos a contar la cantidad de vocales, y no vamos a agrupar o separar.
Verás que es algo fácil, solo es cuestión de recorrer la cadena letra por letra y ver si una de sus letras es una vocal. Vamos a usar la función includes
de una cadena.
Contar vocales: algoritmo
Primero debemos iterar la cadena letra por letra. Por cada letra comparamos si la misma es vocal, y en caso de que sí, aumentamos el contador de vocales.
Recuerda que una vocal puede ser una de las siguientes: aáeéiíoóuú
, ya que en español las vocales pueden llevar tilde.
Además, también debemos tomar en cuenta que algunas vocales pueden estar en mayúscula. Así que para evitar muchas comparaciones, vamos a convertir cada letra a minúscula y luego ver si esa letra está dentro de la lista de vocales.
JavaScript: conteo de vocales en cadena
Vamos al código. Primero definimos la lista de vocales que ya te mostré anteriormente; luego recorremos la cadena y vemos si las vocales incluyen a la letra transformada a minúscula.
Usamos la función includes
de la lista de vocales para saber si la letra es una vocal. Y convertimos la vocal a minúscula usando toLowerCase
.
const contarVocales = palabra => {
// https://parzibyte.me/blog
const vocales = "aáeéiíoóuú";
let cantidadVocales = 0;
for (const letra of palabra) {
if (vocales.includes(letra.toLowerCase())) {
cantidadVocales++;
}
}
return cantidadVocales;
};
A continuación vemos el modo de uso:
const contarVocales = palabra => {
// https://parzibyte.me/blog
const vocales = "aáeéiíoóuú";
let cantidadVocales = 0;
for (const letra of palabra) {
if (vocales.includes(letra.toLowerCase())) {
cantidadVocales++;
}
}
return cantidadVocales;
};
const cadena = "Hola mundo. Estoy estudiando programación en JavaScript desde el blog de Parzibyte";
const vocales = contarVocales(cadena);
console.log("La cadena '%s' tiene %d vocales", cadena, vocales);
Esto funciona incluso si la cadena no tiene vocales, y no importa si la misma es mayúscula o minúscula. Al ejecutar el código, la salida es correcta:
Sobra decir que esto se puede ejecutar en Node como en la imagen, o en el navegador web.
Por aquí te dejo más código JavaScript, en mi blog.