Volver al blog

[Loops e Iteraciones]

¡Hola HaWker! Jeff Bruchado por aquí.

Este es el cuarto artículo de nuestra serie de artículos que va a cubrir nuestro viaje para Aprender Programación desde Cero.

Bueno, sin rodeos, ¡vamos a comenzar!

Dentro del universo de la programación, los loops tienen un papel fundamental. Cuando trabajes en proyectos reales, vas a utilizar loops a todo momento.

Este artículo tiene como objetivo elucidar qué son loops, cómo utilizarlos, y cómo se comportan dentro del ambiente de la Programación y JavaScript.

Lazos de repetición, o loops, son estructuras que permiten repetir un bloque de código diversas veces, así como el propio nombre dice, los loops quedan retomando la ejecución desde el inicio del loop hasta alcanzar la condición que lo pare.

Loops

Así economizando líneas y facilitando el mantenimiento del código.

De esta forma, permites que tu código prevenga repetición, aumentando su mantenibilidad.

Cómo funciona el Lazo de Repetición For

El loop for es una de las estructuras más utilizadas en la programación.

Con él, es posible definir la inicialización, la condición de parada, y la iteración en una única línea.

Vamos a explorar sus particularidades y características, pero antes ¿por qué los lazos son importantes?

Mira el siguiente problema:

Problema

¿Estás de acuerdo conmigo en que la escritura anterior es fea y repetitiva? Con los loops conseguimos resolver ese problema.

Bien, habiendo entendido el problema, esta es la sintaxis básica del Loop for:

Sintaxis For

Y sabiendo esto, en lugar de escribir repitiendo líneas, como escrito en la forma anterior, puedes escribir de la siguiente forma:

For Each

Con esto consigues aumentar mucho la calidad de tu código, haciendo que sea más fácil de entender, más fácil de mantener, y dar algún mantenimiento en el futuro.

Este es el principal problema que los loops en los lenguajes de programación resuelven.

A continuación vamos a entender las particularidades y las formas que podemos usar diferentes loops en diferentes tipos de datos.

Loops

Lazo de Repetición For...of

El loop for...of facilita la iteración a través de objetos iterables, como arrays y strings, sin la necesidad de preocuparse con índices. Veamos cómo funciona:

For Of

Lazo de Repetición While

El loop while crea una iteración que continúa mientras la condición definida sea verdadera. Es extremadamente útil en situaciones donde no sabemos cuántas veces necesitaremos iterar.

Esta es la sintaxis del lazo de repetición while:

While

Y este es un ejemplo de cómo usar:

Ejemplo While

Loop Infinito: Una Trampa a Ser Evitada

Mientras los loops son herramientas poderosas, también pueden ser trampas peligrosas.

Un loop infinito puede trabar tu programa, creando una operación que nunca termina.

Loop Infinito

Explorar condiciones de salida adecuadas y prevenir la creación inadvertida de loops infinitos es vital para escribir código robusto y eficiente.

Y HaWker, necesito aclarar que este problema es más común de lo que parece.

Intenta notar cuando accedas a una página y percibas que paró de responder, puede ser que en ella haya algún loop infinito ejecutándose en background haciendo que la memoria del navegador explote 💥.

Explosión

Lazo de Repetición Do-While

Similar al while, el loop do-while garantiza que el bloque de código sea ejecutado por lo menos una vez, independientemente de la condición, verificándola solo al final de cada iteración.

Esta es la sintaxis del do-while:

Do While

Y este es un ejemplo de cómo utilizarlo:

Ejemplo Do While

Loop con Array

Arrays y loops son compañeros inseparables en la programación.

Al trabajar con arrays en JavaScript, tenemos diversas maneras de iterar sobre ellos, como utilizando los métodos map, filter, y reduce, que facilitan la manipulación de arrays de manera funcional y declarativa.

Pero también existe otra forma, que probablemente es la más usada, que es el famoso forEach:

For Each

Y aquí un ejemplo de cómo utilizarlo:

Ejemplo For Each

Utilizando Loops con Métodos de String

¡Loops no son solo para números o arrays; también pueden ser usados con strings!

Podemos, por ejemplo, iterar sobre cada carácter de una string usando un loop for.

For con String

Usando Loops con Funciones Asíncronas

A veces, puede ser necesario usar loops con funciones asíncronas, y el JavaScript moderno nos permite hacer esto elegantemente con la ayuda de async/await.

Veamos un ejemplo:

Async Await

Nota: Este código debe ser ejecutado en un ambiente que soporte async/await, y dentro de una función asíncrona.

Keyword continue dentro de Loops

La palabra clave continue permite saltar la iteración actual de un loop, continuando directamente para la próxima iteración. Es una herramienta valiosa para prevenir la ejecución de código innecesario en situaciones específicas dentro de un loop.

Observemos un ejemplo donde queremos loguear solo números impares de un array:

Ejemplo Continue

En este ejemplo, estamos usando el continue para saltar la ejecución del código para números pares, logueando solo los números impares.

Keyword break dentro de Loops

La palabra clave break, por otro lado, permite salir completamente de un loop, interrumpiendo todas las iteraciones futuras.

Ella es utilizada para optimizar el código, evitando ejecuciones innecesarias cuando ya alcanzamos el resultado deseado.

Veamos esto en acción:

Ejemplo Break

En este ejemplo, el loop es interrumpido así que i se vuelve 5, evitando iteraciones innecesarias y saliendo del loop más temprano.

Lazos Anidados

Lazos anidados son loops colocados dentro de otros loops.

A pesar de poderosos, deben ser utilizados con cuidado, pues pueden fácilmente llevar a problemas de performance, especialmente cuando trabajamos con grandes conjuntos de datos.

Veamos cómo podemos usar lazos anidados para crear una matriz de multiplicación:

Lazos Anidados

Aquí, tenemos dos loops:

uno para i y otro para j. Esto nos permite multiplicar cada combinación de i y j, creando una tabla de multiplicación.

Loops y Recursión

A veces, podemos usar la recursión, un proceso en que una función se llama a sí misma, como una alternativa a los loops.

La recursión puede ayudarte a desarrollar soluciones más limpias y más fáciles de entender para problemas complejos.

Recursión

Conclusión

Pues bien HaWker, como puedes percibir, este es un artículo bien denso, y de extrema importancia.

Como ustedes pueden percibir, dominar los lazos de repetición es fundamental para cualquier desarrollador.

Ellos ofrecen una manera poderosa y flexible de iterar sobre conjuntos de datos, ejecutar código repetitivo y crear algoritmos más complejos y eficientes.

Espero que este artículo te haya ayudado a entender mejor y a utilizar estas estructuras de control esenciales en tu día a día como programador.

¡Y recuerda, estoy aquí para ayudarte en cada paso del camino!

¡Sensacional HaWker! 👏🏻

Llegamos al fin de nuestro cuarto artículo. 😮‍💨

Y si llegaste hasta aquí, por favor, responde este email con "¡Conseguí entender cómo funcionan los loops!". Para así yo saber que esta serie de artículos está siendo útil para ti.

Si quedaste con alguna duda, ¡por favor! Siéntete libre de responder este email con tu duda, será un gran placer ayudarte.

Solamente un verdadero HaWker llega hasta el final.

¡Felicitaciones!

Estoy feliz de tenerte aquí.

Te veo pronto, ¡vamos a por ello! 🦅

- Jeff Bruchado

¡Felicitaciones por llegar hasta aquí, HaWker! 🎉

En este momento que aprendiste sobre loops e iteraciones en la programación, ¿qué tal testear tus conocimientos? Participa del quiz abajo y ve cuánto absorbiste de nuestro artículo.

Es una excelente manera de fijar el aprendizaje y prepararte para los próximos pasos en tu viaje de programación.

Presiona para acceder al quiz.

¡Buena suerte y diviértete!

Comentarios (0)

Este artículo aún no tiene comentarios 😢. ¡Sé el primero! 🚀🦅

Añadir comentarios