JS: Arrays
Teoría: Ciclo for...of
Cuando trabajamos con listas de elementos, a menudo necesitamos recorrerlas de principio a fin. Hasta ahora, hemos usado el bucle for tradicional, donde definimos un contador, establecemos una condición de finalización y modificamos el contador en cada repetición.
Sin embargo, en muchos casos, sería más práctico recorrer los elementos sin preocuparnos por los índices. Para esto, JavaScript nos ofrece una herramienta más sencilla y clara: el bucle for...of.
¿Cómo funciona for...of?
for...of permite recorrer los elementos de una colección, como un array, sin necesidad de usar un contador manual.
⏬ Veamos un ejemplo:
¿Qué está pasando aquí?
- Se declara una variable
namedentro del bucle conconst. - En cada repetición,
nametoma el valor de un elemento del arrayuserNames. - El bucle finaliza automáticamente cuando ha recorrido todos los elementos.
Como podemos ver, el código es más limpio y fácil de entender en comparación con el for tradicional.
Sumar valores de un array
Una tarea común es sumar los elementos de una lista de números. Con for...of, esto se vuelve bastante simple:
Iterar sobre una cadena de texto
Además de los arrays, for...of también funciona con cadenas de texto. Recorre la cadena letra por letra:
Aunque una cadena pueda parecer un array de caracteres, no es realmente un array. Solo se comporta de manera similar cuando usamos for...of.
Cuándo usar for en lugar de for...of
A pesar de sus ventajas, for...of no es adecuado para todas las situaciones. En algunos casos, seguimos necesitando un for tradicional.
Recorrer solo algunos elementos(ejemplo: cada dos elementos)
Si necesitamos saltarnos elementos, for...of no nos permite hacerlo fácilmente. Aquí es mejor usar for:
Recorrer un array en orden inverso
Si deseamos recorrer una lista en sentido contrario, for...of tampoco nos sirve:
Recorrer un rango de números sin un array
A veces, necesitamos repetir una acción varias veces sin depender de una colección preexistente. En ese caso, for es más adecuado:
Modificar un array mientras se recorre
Si queremos actualizar los valores de un array durante la iteración, for...of no es la mejor opción, ya que no accedemos al índice. En su lugar, usamos for:
Resumen
for...ofes ideal para recorrer arrays y cadenas de texto sin preocuparse por los índices.- Sin embargo, hay casos en los que
forsigue siendo necesario, como:- Iterar en pasos específicos (cada dos elementos, por ejemplo).
- Recorrer un array en orden inverso.
- Repetir una acción un número específico de veces sin depender de un array.
- Modificar elementos de un array durante la iteración.
- Aunque en JavaScript moderno se usan otras herramientas como las funciones de orden superior (
map,filter), entender los bucles es fundamental para trabajar la lógica de programación.
Los bucles son una base clave en la programación. Si los dominas bien, te será mucho más fácil entender herramientas más avanzadas más adelante. ¡Sigue practicando!