javascript

Comprobar si comienza con vocal en JavaScript

Introducción

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.

Lecturas recomendadas

Antes de seguir, si tienes poca experiencia con este lenguaje te invito a que estudies más con los siguientes posts:

  1. Comienza con y termina con en JavaScript
  2. Const en JavaScript
  3. Funciones flecha en JavaScript

Función comienza con vocal en JavaScript

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.

Probar la función

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:

Probar función para ver si empieza con vocal en JavaScript

Función corta

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.