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.
- Transforme el texto en un array de letras minúsculas (para facilita la solución del ejercicio).
- Recorra todo el array en búsqueda de cada tipo de vocal a, e, i, o, y.
- Recorra todo el array contabilizando espacios en blanco.
- 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.
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!
Deja una respuesta