Fundamentos de JavaScript
Teoría: Condiciones dentro de un bucle
Cuando usamos bucles en programación, su cuerpo es el lugar donde escribimos las acciones que se repiten. Y dentro de ese bloque, también podemos usar herramientas que ya conocemos, como las condiciones (if).
Contar letras en una oración
Imagina que estás programando una app para aprender a leer.
El usuario escribe una oración y tú quieres mostrar cuántas veces aparece una letra.
Por ejemplo:
❓ ¿Cómo pensamos la solución?
- Vamos a recorrer la oración letra por letra.
- Si encontramos la letra que buscamos, sumamos 1 al contador.
- Al final, devolvemos cuántas veces apareció.
Así se implementa
Paso a paso con 'Fear' y 'e'
🔁 Y así seguimos hasta revisar toda la frase.
Probar en la consola
Así podrás probar con tus propias frases y letras para ver cómo funciona.
Verificar si un número es divisible
Antes de hablar de números primos, vamos a hacer algo más simple: ver si un número se puede dividir exactamente por otro.
❓ ¿Es divisible por otros?
Ahora supongamos que alguien te da un número, y tú quieres probar si se puede dividir por otros más pequeños. Vamos a recorrer varios posibles divisores con un bucle:
Salida:
Y ahora sí: ¿es primo?
Con lo anterior claro, ya podemos probar si un número no se puede dividir por nadie (excepto por 1 y él mismo). Eso significa que es un número primo.
- Si el número es menor que 2 → no es primo.
- Empezamos a dividir desde
2hasta la mitad del número. - Si algún divisor da exacto (sin resto), ya podemos salir: no es primo.
- Si revisamos todo y no hay divisores → sí es primo.
¿Dónde se usa esto?
La función countChars() es útil en buscadores, validaciones de contraseñas, juegos de palabras como Wordle o en análisis de texto. Por otro lado, isPrime() aparece en la lógica de algunos juegos, en algoritmos de seguridad y como ejercicio clásico en entrevistas técnicas.
Resumen
- Podemos usar condiciones dentro de los bucles para tomar decisiones sobre cada elemento en la iteración.
- La función
countChars()recorre una cadena y cuenta cuántas veces aparece un carácter dado. - Optimizar los bucles reduciendo el número de iteraciones nos ayuda a mejorar la eficiencia del código.
- La función
esPrimo()prueba si un número se puede dividir por otros. Si no se puede, es primo. - Este tipo de lógica es muy común en validaciones, búsquedas y análisis de texto.