Gráffica Academy
Creado para la ComunidadAprende a programar
Escribir al equipo

Contacta con el equipo de Gráffica Estudio Academy.

IG @ X in
Estructuras de datos

Iteraciones

Ya has recorrido arrays con for y con forEach. Hoy juntamos las piezas: qué es exactamente lo que hace que un array, un string, un Set o un Map se puedan recorrer con for...of, y las formas de sacar a la vez claves y valores mientras iteras.

for...of: la forma universal de recorrer

Ya viste for...of por encima en el módulo de bucles. Funciona sobre cualquier estructura "iterable": arrays, strings, Sets y Maps, todas con la misma sintaxis simple:

for-of.js
1
Pulsa "Ejecutar" para ver el resultado.
⚠️ for...of contra for...in

Se parecen mucho de nombre pero hacen cosas distintas: for...of recorre valores (pensado para arrays, strings, Sets, Maps). for...in recorre claves (pensado para las propiedades de un objeto normal). Usar for...in sobre un array funciona "por accidente" pero no es lo recomendado — usa for...of para arrays siempre.


Recorrer objetos: for...in y Object.entries

recorrer-objetos.js
1
Pulsa "Ejecutar" para ver el resultado.
Object.keys(obj)

Devuelve un array con solo las claves.

Object.values(obj)

Devuelve un array con solo los valores.

Object.entries(obj)

Devuelve un array de pares [clave, valor], ideal para combinar con for...of.


Iterar un Map: siempre por pares

Un Map se recorre de forma parecida, pero cada vuelta te da directamente el par [clave, valor]:

iterar-map.js
1
Pulsa "Ejecutar" para ver el resultado.
💡 Consejo

Regla rápida para elegir: si es un array, string, Set o Map, usa for...of. Si es un objeto normal y quieres tanto la clave como el valor, usa Object.entries() combinado con for...of — es más explícito que for...in y evita sorpresas.

Comprueba lo que has aprendido

3 preguntas · sin nota, solo para afianzar lo de hoy

1. ¿Cuál es la diferencia principal entre for...of y for...in?

2. ¿Qué devuelve Object.entries(objeto)?

3. Al recorrer un Map con for...of, ¿qué te da cada vuelta?

Síguenos IG @ X in