Ya que andamos viendo cómo trabajar con cadenas en JavaScript, analicemos cómo podemos comprobar si una cadena comienza con una vocal en JavaScript.
Es algo realmente sencillo e incluso podría tomarse como un repollo (repost) de otro post anterior. Sin embargo, prefiero hacerlo por si alguien se quedó con la duda; cuando uno es novato no sabe cosas obvias.
Antes de seguir, si tienes poca experiencia con este lenguaje te invito a que estudies más con los siguientes posts:
Dejo la función o método y más abajo la explicamos.
const comienzaConVocal = (cadena) => {
if (!cadena || cadena.length <= 0) return false;
// Convertir a minúscula porque las vocales con las que la compararemos están
// en minúscula
let cadenaEnMinuscula = cadena.toLowerCase();
let primerCaracter = cadenaEnMinuscula.charAt(0);
// Vamos a buscar si el carácter está en este arreglo
const vocales = ["a", "e", "i", "o", "u"];
// indexOf devuelve -1 si no encuentra el carácter en el arreglo
// y si lo encuentra, devuelve el índice o posición, pero eso no nos importa ahora
if (vocales.indexOf(primerCaracter) === -1) {
return false;
} else {
return true;
}
}
¿Qué hacemos? bueno, primero debemos tener a la palabra que nos manden en minúscula, ya que al compararla la vamos a comparar con vocales minúsculas.
Luego, extraemos la primera letra de la cadena. Declaramos un arreglo de vocales y buscamos dentro de ese arreglo usando indexOf.
La función indexOf devuelve el índice de la letra en el arreglo.
Por ejemplo, si la letra es a entonces devolverá 0, si la letra es e devolverá 1 y si es u devolverá 4; si no coincide o no encuentra la letra entonces devolverá -1.
Justamente de eso nos aprovechamos, ya que si devuelve -1 significa que la primera letra no es una vocal, y por lo tanto la palabra no comienza con vocal.
Podemos probar a la función más tarde con este código:
// Esto es para probar
const palabras = [
"Hola", "Perro", "Maggie", "Saludos", "Avión",
"Pájaro", "Saúl", "Estado", "Ornitorrinco", "Iglú",
"unión", "uniones", "ejemplo",
];
palabras.forEach(palabra => {
console.log("¿%s comienza con vocal? %s", palabra, comienzaConVocal(palabra));
});
Lo ejecutamos y aquí está la salida, la cual a mi parecer es correcta:
Si eres un ninja de JavaScript y quieres no entender a tu código más tarde, aquí dejo esta función más corta. Es lo mismo que arriba pero con algunas “optimizaciones”.
Puedes usarla, pero recuerda que antes de ello debes entenderla, si no, mejor usa la de arriba.
const comienzaConVocal = cadena => ["a", "e", "i", "o", "u"].indexOf((cadena || "").toLowerCase().charAt(0)) !== -1;
Espero que sirva para estudiar cómo podemos escribir menos líneas de código.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.