🚀 Métodos Map, Filter e Reduce em JavaScript
No ecossistema do JavaScript moderno, os métodos map(), filter()
e reduce() são essenciais para manipulação de arrays de forma funcional,
elegante e eficiente — eliminando loops verbosos e tornando o código mais declarativo.
🧩 map(): Transformação de dados
O map() percorre um array e retorna um novo array com os
valores transformados a partir de uma função callback. Ele não altera o array original.
👉 Ideal para: conversões, cálculos e formatações.
const nums = [1, 2, 3];
const dobrados = nums.map(n => n * 2);
// [2, 4, 6]
🔍 filter(): Filtragem de elementos
O filter() cria um novo array contendo apenas os elementos que
passam em um teste lógico (true/false) definido na função callback.
👉 Ideal para: buscas, validações e remoção de dados indesejados.
const nums = [5, 10, 15];
const maiores = nums.filter(n => n > 10);
// [15]
⚙️ reduce(): Acumulação de valores
O reduce() executa uma função acumuladora e transforma o array em
um único valor final (número, objeto, string etc.).
👉 Ideal para: somas, agrupamentos e cálculos complexos.
const nums = [1, 2, 3, 4];
const soma = nums.reduce((acc, n) => acc + n, 0);
// 10
🔗 Encadeamento poderoso (Chaining)
Esses métodos podem ser combinados para criar pipelines de dados:
const resultado = [1, 2, 3, 4]
.filter(n => n % 2 === 0)
.map(n => n * 2)
.reduce((acc, n) => acc + n, 0);
// 12
💡 Conclusão
Esses métodos são pilares da programação funcional em JavaScript, permitindo escrever código mais limpo, reutilizável e expressivo. Eles iteram sobre arrays utilizando callbacks e retornam novos valores sem mutar o original — uma prática altamente recomendada.