AnyCompiler

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);
Output
[ 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);
Output
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.