Map, filter e reduce

Preview:

Citation preview

Map, Filter e ReduceCom Javascript e .NET(C#)

Jackson VeronezeSoftware Developer

jackson@jacksonveroneze.comhttps://jacksonveroneze.comhttps://br.linkedin.com/in/jacksonveroneze

Mario MendonçaSoftware Developer

mario.mendonca@gmail.comhttps://br.linkedin.com/in/mario-mendonca

Map, Filter e ReduceNo processo de aprendizagem de uma linguagem de programação, vamos, certamente, nos deparar com o tratamento de Arrays.

Em Javascript, C# e em outras linguagens de programação, temos três recursos que são muito importantes para trabalharmos com eles: map, filter e reduce.

Javascript - Map

Pense no método map como um loop for-each que irá transformar todos os elementos de seu array. Quando usamos o método map, todos os elementos do array serão transformados e retornados como um novo array de dados.

Javascript - Map

O método map retorna uma instância de um array com o resultado retornado na função passada como argumento.

A função map irá nos ajudar a deixar o código muito mais conciso:

Javascript - Filter

Retorna somente os resultados que satisfaçam determinada condição que buscamos

Javascript - Combinando Map e Filter

Uma das grandes vantagens dos métodos map e filter é que eles retornam instâncias de Arrays, o que significa que podemos fazer utilizações como:

Javascript - Reduce

Além de modificar todos os itens de um array ou filtrar itens por determinadas condições, por vezes queremos efetuar operações que agreguem os valores, tais como a somatória de todos os itens ou a média dos valores do array.

let numbers = [1, 3, 5];let average = numbers.reduce((total, currentElement) => total + currentElement, 0) / numbers.length;

console.log(average); //3

.NET(C#)

..nosso banco armazena uma lista de contas. Estas contas possuem os mais variados correntistas, saldos e tipos. Muitas vezes, precisamos filtrá-las de alguma forma. Por exemplo, se quisermos pegar todas as contas com saldo maior que 2000 reais, fazemos:

.NET(C#)

Para filtrar uma lista, seria muito mais interessante que a própria coleção tivesse algum método que recebesse a condição que queremos aplicar nesse filtro e já implementasse a lógica do foreach.

.NET(C#) - Filter

Agora imagine que queremos saber qual é a soma do saldo de todas as contas que estão cadastradas dentro da aplicação. Para resolver esse problema, teríamos que fazer um código parecido com o seguinte:

.NET(C#) - Reduce

.NET(C#) - Reduce

.NET(C#) - Map

Exemplo real

Recommended