Map, filter e reduce

16
Map, Filter e Reduce Com Javascript e .NET(C#)

Transcript of Map, filter e reduce

Page 1: Map, filter e reduce

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

Page 2: Map, filter e reduce

Jackson VeronezeSoftware Developer

[email protected]://jacksonveroneze.comhttps://br.linkedin.com/in/jacksonveroneze

Mario MendonçaSoftware Developer

[email protected]://br.linkedin.com/in/mario-mendonca

Page 3: Map, filter e reduce

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.

Page 4: 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.

Page 5: Map, filter e reduce

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:

Page 6: Map, filter e reduce

Javascript - Filter

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

Page 7: Map, filter e reduce

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:

Page 8: Map, filter e reduce

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

Page 9: Map, filter e reduce

.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:

Page 10: Map, filter e reduce

.NET(C#)

Page 11: Map, filter e reduce

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

Page 12: Map, filter e reduce

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

Page 13: Map, filter e reduce

.NET(C#) - Reduce

Page 14: Map, filter e reduce

.NET(C#) - Map

Page 15: Map, filter e reduce

Exemplo real