Map, filter y reduce: domina los arrays en JS

Vibrant and detailed view of JavaScript code on a screen, ideal for tech and programming visuals.
Foto de Sabrina Gelbart en Pexels

En JavaScript, los arrays son una parte fundamental de la programación. A menudo nos encontramos con la necesidad de realizar operaciones sobre ellos, como transformar sus elementos, filtrarlos o reducirlos a un valor único. Para ello, JavaScript nos proporciona tres métodos extremadamente útiles: map, filter y reduce.

Map: transformar arrays

El método map se utiliza para transformar cada elemento de un array en algo nuevo. Devuelve un nuevo array con los resultados de aplicar la función proporcionada a cada elemento del array original.

const numeros = [1, 2, 3, 4, 5];
const dobles = numeros.map(n => n * 2);
console.log(dobles); // [2, 4, 6, 8, 10]

Filter: filtrar arrays

El método filter se utiliza para crear un nuevo array con todos los elementos del array original que cumplan con la condición especificada en la función proporcionada.

const numeros = [1, 2, 3, 4, 5];
const pares = numeros.filter(n => n % 2 === 0);
console.log(pares); // [2, 4]

Reduce: reducir arrays a un valor

El método reduce se utiliza para reducir un array a un valor único. Aplica una función a cada elemento del array (desde izquierda a derecha) para reducirlo a un valor único.

const numeros = [1, 2, 3, 4, 5];
const suma = numeros.reduce((acc, n) => acc + n, 0);
console.log(suma); // 15

Combinando map, filter y reduce

Una de las características más poderosas de estos métodos es que se pueden combinar para realizar operaciones más complejas. Por ejemplo, podríamos querer calcular la suma de los cuadrados de los números pares en un array.

const numeros = [1, 2, 3, 4, 5];
const sumaCuadradosPares = numeros
  .filter(n => n % 2 === 0)
  .map(n => n * n)
  .reduce((acc, n) => acc + n, 0);
console.log(sumaCuadradosPares); // 20

En este ejemplo, primero filtramos los números pares, luego transformamos cada número par en su cuadrado y finalmente reducimos los cuadrados a su suma.

En resumen, map, filter y reduce son herramientas fundamentales para trabajar con arrays en JavaScript. Al entender cómo funcionan y cómo combinarlos, podrás realizar operaciones complejas de manera eficiente y elegante.