Como contar vocales y espacios en blanco en un texto mediante javascript

Como contar vocales y espacios en blanco en un texto mediante javascript

En el script de este ejercicio vamos a practicar con algunos métodos javascript básicos para el tratado de arrays.

También vamos será necesario recorrer todas las posiciones de un array.

Finalmente de nuevo repasaremos la estructura del switch.

Esta entrada te puede ideas sobre como resolver este ejercicio.

Enunciado

Crea un script que:

Pida al usuario que escriba por pantalla un texto.

  1. Transforme el texto en un array de letras minúsculas (para facilita la solución del ejercicio).
  2. Recorra todo el array en búsqueda de cada tipo de vocal a, e, i, o, y.
  3. Recorra todo el array contabilizando espacios en blanco.
  4. Finalmente el script debe escribir por pantallas todos y cada uno de los textos y devolver el texto tratado según la imagen a continuación.
Como contar vocales y espacios en blanco en un texto mediante javascript 1
Ver solución (Haz clic)

Solución del ejercicio

split(«») transforma un string en un array separando cada letra del carácter («»). Muchísima atención porqué no es igual escribir «» que » «. (notar que en el segundo caso si hay un espacio en blanco).

join(«») hace el proceso contrario para volver a unir todas las letras de un vector o array.

toLowerCase() transforma todos los caracteres a minúscula.

El resto de la resolución es muy parecido al ejercicio del dado de 6 caras.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="description" content="Script que cuenta el número de vocales, el número de espacios en blanco y el número de carácteres escritos">
        <meta name="author" content="Francesc Ricart">
        <title>Ejercicio javascript - ejemplo de uso de métodos</title>
    </head>
    <body>
    
    <script>

        var a = e = i = o = u = blancos = 0;
        vectorLetras = consultarTexto();
        
        function consultarTexto(){
            var pideTexto = window.prompt("escribe un texto cualquiera");
            var textoRoto = pideTexto.toLowerCase().split("");
            return textoRoto;
        }        
        
        for(k=0;k < vectorLetras.length;k++){
            
            switch(vectorLetras[k]){
                case "a":
                case "à":
                case "á":
                    a++;
                    break;
                case "e":
                case "é":
                case "è":
                    e++;
                    break;
                case "i":
                case "í":
                case "ì":
                    i++;
                    break;
                case "o":
                case "ó":
                case "ò":
                    o++;
                    break;
                case "u":
                case "ú":
                case "ù":
                    u++;
                    break;
                case " ":
                    blancos++;
            }
        }
        
        totalVocales = a+e+i+o+u;
        
        document.write("Hay " +  a + " vocales 'a'<br>");
        document.write("Hay " +  e + " vocales 'e'<br>");
        document.write("Hay " +  i + " vocales 'i'<br>");
        document.write("Hay " +  o + " vocales 'o'<br>");
        document.write("Hay " +  u + " vocales 'u'<br>");
        
        document.write("<br>");
        document.write("Total de vocales: " + totalVocales);
        document.write("<br>");
        document.write("Total de espacios en blanco: " + blancos);
        document.write("<br>");
        document.write("Total de carácteres escritos: " + vectorLetras.length);
        document.write("<br>");
        document.write("Texto original: <b>" + vectorLetras.join("") + "</b>");
    </script>

    </body>
</html>

¡Hola!

Querido lector,

Este es un interesante ejercicio practicamos con algunos métodos para arrays especialmente interesantes como lo son split() y join().

Hemos vuelto a practicar el uso del for y un switch().

¡Espero que te haya sido de utilidad!

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

¿Te ha gustado esta publicación?

¡Valora sobre 5 estrellas esta publicación!

Puntuación media / 5. Votos:

Todavía no hay votos. Sé el primero en valorar la entrada.

Si te ha gustado este contenido...

¡Sígueme en las redes!

Vaya, parece que hay puntos a corregir

¿Me ayudas a mejorar?

Francesc Ricart
hola@francescricart.com

Aprender y enseñar. Enseñar y aprender. En el ámbito docente soy docente ocupacional. En el ámbito profesional consultor web. Ofrezco servicios de mejora continua y mantenimiento web. ¿Qué quieres aprender hoy? Encontraréis más acerca de mi en la página sobre mi

No hay comentarios

Escribir un comentario

  Acepto la política de privacidad

Responsable: FRANCESC RICART MUÑOZ.

Finalidad: Gestionar los comentarios que realizas en este blog.

Destinatarios: No se cederán datos a terceros, salvo obligación legal.

Derechos: Tienes derecho a acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad.