Filter, Map e Reduce com Javascript
- #JavaScript
- #TypeScript
As funções map, reduce e filter são funções muito úteis em JavaScript para manipular arrays. Elas permitem que você faça operações de transformação, agregação e filtragem de dados de forma eficiente.
Map
A função map aplica uma função a cada elemento de um array e retorna um novo array com os resultados. A sintaxe da função map é a seguinte:
const array = [1, 2, 3, 4, 5];
const resultado = array.map(function(item) {
return item * 2;
});
console.log(resultado); // [2, 4, 6, 8, 10]
No exemplo acima, a função map aplica a função item * 2
a cada elemento do array array
. O resultado é um novo array com os valores do array original multiplicados por 2.
Reduce
A função reduce aplica uma função a cada elemento de um array e acumula os resultados em um único valor. A sintaxe da função reduce é a seguinte:
const array = [1, 2, 3, 4, 5];
const resultado = array.reduce((acc, item) => {
return acc + item;
}, 0);
console.log(resultado); // 15
No exemplo acima, a função reduce aplica a função acc + item
a cada elemento do array array
. O valor inicial de acc
é 0. O resultado é o somatório dos valores do array original.
Filter
A função filter retorna um novo array com os elementos que satisfazem uma determinada condição. A sintaxe da função filter é a seguinte:
const array = [1, 2, 3, 4, 5];
const resultado = array.filter(function(item) {
return item % 2 === 0;
});
console.log(resultado); // [2, 4]
No exemplo acima, a função filter retorna um novo array com os elementos do array original que são pares.
Exemplos de uso
- Converter um array de strings para números:
const array = ["1", "2", "3", "4", "5"];
const resultado = array.map(Number);
console.log(resultado); // [1, 2, 3, 4, 5]
- Calcular a média de um array de números:
const array = [1, 2, 3, 4, 5];
const resultado = array.reduce((acc, item) => {
return acc + item;
}, 0) / array.length;
console.log(resultado); // 3
- Retornar um array com os números pares de um array:
const array = [1, 2, 3, 4, 5];
const resultado = array.filter(function(item) {
return item % 2 === 0;
});
console.log(resultado); // [2, 4]
Conclusão
As funções map, reduce e filter são ferramentas poderosas que podem ser usadas para manipular arrays de forma eficiente. Com elas, você pode realizar operações de transformação, agregação e filtragem de dados de forma rápida e fácil.