JavaScript · Sección 5

Arrays, objetos, Map y Set

Elección de colecciones, transformaciones con map, filter y reduce, copias, mutación y operaciones seguras sobre datos.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene comprender funciones y valores. Practicarás transformaciones sin modificar accidentalmente el dato original.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Arrays y transformaciones con Objetos y copias y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.

04 / PREPARA EL LABORATORIO

Utiliza un navegador con herramientas de desarrollo y una versión LTS de Node.js con npm. Angular y MongoDB se preparan cuando llegues a esos bloques.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Arrays y transformaciones y Objetos y copias? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Elegirás entre Array, Object, Map y Set y transformarás datos sin perder de vista mutación, costo e identidad.

Al terminar podrás
  • Cada método de array expresa una intención distinta
  • Copiar una forma no clona todos sus valores internos
  • La operación dominante decide la colección
01
Arreglos

Cada método de array expresa una intención distinta

map transforma cada elemento, filter conserva algunos, find obtiene el primero y reduce acumula. forEach ejecuta efectos y no construye un resultado. sort, reverse, splice y push mutan; toSorted, toReversed, toSpliced, map y filter producen nuevas colecciones.

01

El callback recibe valor, índice y arreglo.

02

No uses map si ignoras su resultado.

03

Distingue copia superficial de copia profunda.

Comprueba lo aprendido · 01

¿Qué método usarías para obtener el primer producto sin stock?

Mostrar respuesta +

find, porque expresa que buscas una sola coincidencia y devuelve el primer elemento o undefined.

02
Objetos y desestructuración

Copiar una forma no clona todos sus valores internos

La desestructuración extrae propiedades y el spread crea una copia superficial. Si una propiedad contiene otro objeto o arreglo, ambas copias todavía comparten esa referencia. Optional chaining evita fallar al atravesar una ruta ausente; no reemplaza la validación del dominio.

01

{ ...objeto } copia el primer nivel.

02

?. detiene la lectura ante null o undefined.

03

Object.entries permite recorrer pares clave-valor.

Comprueba lo aprendido · 02

¿Por qué const copia = { ...original } puede seguir compartiendo un arreglo interno?

Mostrar respuesta +

Porque spread realiza una copia superficial: copia la referencia del arreglo, no todos sus elementos y objetos anidados.

03
Map y Set

La operación dominante decide la colección

Set representa valores únicos y Map asocia claves de cualquier tipo con valores. Un objeto es adecuado para registros con campos conocidos; Map ofrece size, iteración y claves que no se convierten automáticamente en texto. La elección se justifica por semántica y operaciones, no por costumbre.

01

Set.has comunica pertenencia.

02

Map.get puede devolver undefined: decide si eso significa ausencia.

03

WeakMap y WeakSet no son enumerables y no mantienen vivas sus claves.

Comprueba lo aprendido · 03

¿Cuándo elegirías Map en vez de un objeto literal?

Mostrar respuesta +

Cuando las claves son dinámicas o no son strings, necesitas size e iteración directa, o quieres expresar explícitamente una colección de asociaciones.

Resumen de la sección

Tu recorrido en tres ideas

  1. Cada método de array expresa una intención distinta
  2. Copiar una forma no clona todos sus valores internos
  3. La operación dominante decide la colección
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Usar map para efectos e ignorar el arreglo resultante.

ERROR 02

Creer que spread clona profundamente objetos anidados.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

A partir de pedidos, produce clientes únicos, total pagado por cliente y una lista ordenada sin mutar la entrada.

Mostrar pauta de corrección +
Una respuesta sólida:
  • Justifica Array, Map y Set por operación.
  • La entrada permanece idéntica.
  • Cubre pedidos vacíos, repetidos y no pagados.