Métodos de Array: map, filter, e reduce
map() e filter() são os dois métodos de array que você vai usar constantemente — a maioria dos desenvolvedores Python usa list comprehensions exatamente para esse tipo de transformação, e esses são o equivalente em 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);
[ 1, 4, 9, 16, 25 ] [ 2, 4 ]
map() transforma cada item e retorna um novo array do mesmo tamanho. filter() mantém apenas os itens em que a função retorna true, então o resultado pode ser mais curto que o original. Nenhum dos dois muda o array original.
reduce — combinando cada item em um único valor
const numbers = [1, 2, 3, 4, 5]; const total = numbers.reduce((sum, x) => sum + x, 0); console.log(total);
15
reduce() percorre o array, carregando um acumulador (sum) de um item para o próximo. O 0 é o valor inicial do acumulador. Aqui ele está apenas somando tudo, mas reduce() pode construir qualquer resultado único — um total, um máximo, ou até um objeto totalmente novo — a partir de um array.
A seguir: tratamento de exceções — lidar com erros graciosamente em vez de deixar seu programa travar.
Exercício de Prática
Use .map() para construir um array com os cubos dos números de 1 a 4, e depois imprima-o.