Conviene comprender funciones y valores. Practicarás transformaciones sin modificar accidentalmente el dato 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.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Arrays y transformaciones con Objetos y copias y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
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.
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.
- 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
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.
El callback recibe valor, índice y arreglo.
No uses map si ignoras su resultado.
Distingue copia superficial de copia profunda.
¿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.
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.
{ ...objeto } copia el primer nivel.
?. detiene la lectura ante null o undefined.
Object.entries permite recorrer pares clave-valor.
¿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.
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.
Set.has comunica pertenencia.
Map.get puede devolver undefined: decide si eso significa ausencia.
WeakMap y WeakSet no son enumerables y no mantienen vivas sus claves.
¿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.
Tu recorrido en tres ideas
- 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
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Usar map para efectos e ignorar el arreglo resultante.
Creer que spread clona profundamente objetos anidados.
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 +
- Justifica Array, Map y Set por operación.
- La entrada permanece idéntica.
- Cubre pedidos vacíos, repetidos y no pagados.
