Intermedio

Arrays y métodos

Objetivo: Manipular arreglos con map, filter y reduce sin mutar el original.

Explicación

Un array es una lista ordenada de valores. Sus índices empiezan en 0.

Métodos que no mutan el original (preferir siempre):
- map(fn): transforma cada elemento y retorna un array nuevo.
- filter(fn): conserva solo los elementos que cumplen la condición.
- reduce(fn, inicial): acumula todos los elementos en un solo valor.
- find(fn): primer elemento que cumple, o undefined.
- some(fn) / every(fn): ¿alguno/todos cumplen?

Métodos que sí mutan: push, pop, splice, sort. Úsalos con cuidado cuando otras partes del código referencian el mismo array.

Ejemplos

const nums = [1, 2, 3]
const dobles = nums.map(n => n * 2)   // [2, 4, 6]
console.log(nums)                     // [1, 2, 3] intacto
const usuarios = [
  { nombre: 'Ana', activa: true },
  { nombre: 'Luis', activa: false },
]
const activos = usuarios.filter(u => u.activa)
console.log(activos.map(u => u.nombre)) // ["Ana"]
const total = [1, 2, 3, 4].reduce((acc, n) => acc + n, 0)
console.log(total) // 10

Comprueba tu comprensión

Pregunta 1 de 5

¿Qué retorna [1, 2, 3].map(n => n + 1)?

Práctica opcional

Estos ejercicios no afectan tu dominio de la lección.

  • Dado [3, 1, 4, 1, 5], usa filter y reduce para obtener la suma de los impares.
  • Reescribe un bucle for que acumule totales usando map + reduce. Compara legibilidad.