AnyCompiler

Métodos de Array: map, filter, y reduce

map() y filter() son los dos métodos de array que usarás constantemente — la mayoría de los desarrolladores de Python usan comprensiones de listas para exactamente este tipo de transformación, y estos son el equivalente en JavaScript.

const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map((x) => x * x);
console.log(squared);

const evens = numbers.filter((x) => x % 2 === 0);
console.log(evens);
Output
[ 1, 4, 9, 16, 25 ]
[ 2, 4 ]

map() transforma cada elemento y devuelve un nuevo array de la misma longitud. filter() conserva solo los elementos para los que la función devuelve true, así que el resultado puede ser más corto que el original. Ninguno de los dos cambia el array original.

reduce — combinar cada elemento en un solo valor

const numbers = [1, 2, 3, 4, 5];
const total = numbers.reduce((sum, x) => sum + x, 0);
console.log(total);
Output
15

reduce() recorre el array, llevando un acumulador (sum) de un elemento al siguiente. El 0 es el valor inicial del acumulador. Aquí simplemente está sumando todo, pero reduce() puede construir cualquier resultado único a partir de un array — un total, un máximo, o incluso un objeto completamente nuevo.

Siguiente: manejo de excepciones — gestionar errores con elegancia en vez de dejar que tu programa se caiga.

Ejercicio de práctica

Usa .map() para construir un array con los cubos de los números del 1 al 4, y luego imprímelo.