🤔 Para Refletir :
"De jogo pequeno em jogo pequeno, consegue-se experiência para o jogo grande."
- Eliyud

Javascript - O tal do método map

Gostariam de mais tópicos assim?

  • Sim

  • Nope


Results are only viewable after voting.

Guira Masculino

Novato
Membro
Membro
As they say, the less you know the better you sleep.
Juntou-se
31 de Agosto de 2020
Postagens
11
Bravecoins
44
NeyWVhW.png

Eai galera, eu estava passando por aí e pensei em fazer um tutorialzinhio sobre o método Array.prototype.map() do JavaScript, é sempre bom relembrar o básico não é mesmo? Então vamos para mais um tópico gigantesco!​



Bom, vamos lá, a primeira questão é porque usar map?

Antigamente, quando as trevas reinavam sob a face do Javascript, para criar uma cópia de um Array, era preciso várias linhas de código, o que acabava fazendo com que ficasse um pouco difícil quando se tratava de correção de bugs, por exemplo, para iterar todos os elementos de um Array retornando um novo com o resultado, era necessário fazer uma algo macumba desse tipo:​
3SVbZNk.png
MAS, em 2011, a luz brilhou novamente sob esse universo, nos abençoando com os métodos map(), filter() e reduce() (Futuramente, farei tutorial de todos e colocarei hiperlinks aqui) e "pelos poderes de grayskull", nós podemos fazer a mesma coisa bem mais rápido e fácil, dessa forma:​
GHKG7CW.png



Agora que já introduzi vocês, vamos entender como que funciona o método map
O método map() é invocado a partir de um array (como já sabemos) e recebe uma função de callback, uma função que é passada dentro de outra função e que no nosso caso será executada para cada valor de nosso Array, retornando assim um NOVO ARRAY com os resultados. No caso do map, ele possui 3 parâmetros em seu callback, que são esses aqui ó​
BH2UN7q.png

Levando em consideração que:
  • O parâmetro valorAtual é obrigatório e representa o item da iteração atual.​
  • O parâmetro indice é opcional e representa o índice do item da iteração atual.​
  • O parâmetro array também é opcional e representa o próprio array ao qual os itens pertencem.​



Vamos para um exemplo:

Neste tópico só utilizaremos o primeiro parâmetro, criaremos um Array e então vamos multiplicar os valores deles por 7 (Porque não 7? eu gosto de 7) e para facilitar o entendimento iremos criar nossa função de callback antes.​
lLa4FvP.png
Bom, agora é fácil, basta criar uma nova variável (ou constante) para armazenar os valores do map() e depois dar um console.log() para ver o resultado​

tJmlys9.png
Obviamente se quisermos diminuir o código, podemos fazer simplesmente assim, utilizando Arrow Functions:​
b6YSEww.png
Arrow Functions basicamente nos permitem escrever funções de uma maneira mais curta, foram introduzidas no ES6 e funcionam basicamente assim:​
Lv2c0ze.png
Podemos ver ali, que no último caso const hello = (arg) => `return `Hello ${arg}` nós não precisamos usar a palavra return, pois ela nos retorna o valor implicitamente, o XABLAU é colocar isso dentro do map()
Força guerreiro, estamos chegando ao final, só falta uma coisa para entendermos melhor, utilizar o nosso SHARINGAN e ver o que está acontecendo por trás dos panos, que é basicamente o seguinte: Para cada valor, o callback é executado armazenando o resultado na mesma posição de um novo Array​


4sChe33.png



Podemos visualizar com nossos incríveis poderes de programador o que aconteceu por trás dos panos ^^​



Bom galera, por hoje é só, eu estava com vontade de postar algo e achei que isso fosse ser legal, espero que eu tenha ajudado alguém e até a próxima
Beijos a todos ♥

 
Última edição:
Maneiro! É bacana ver tutoriais dessas funções de Javascript, nem sempre o pessoal conhece e elas facilitam muito a vida no dia-a-dia!

Como sugestão, eu adicionaria só um adendo aí no meio para explicar sobre lambda expressions, já que eu acho que quem não conhece a map provavelmente não vai manjar das lambdas também.
1605470779129.png

("Eita! O que é esse tal de x => x*2 ?")
 
Última edição:
Maneiro! É bacana ver tutoriais dessas funções de Javascript, nem sempre o pessoal conhece e elas facilitam muito a vida no dia-a-dia!

Como sugestão, eu adicionaria só um adendo aí no meio para explicar sobre lambda expressions, já que eu acho que quem não conhece a map provavelmente não vai manjar das lambdas também.
Visualizar anexo 1616
("Eita! O que é esse tal de x => x*2 ?")
Prontinho, pela sugestão são sempre bem vindas hahah, confesso que estava no script falar algo sobre mas eu esqueci de colocar no tópico ^^'
 
Esse tutorial é muito útil, pois o map é utilizado com frequência no JS e quebra bastante galho, principalmente por deixar o código mais compacto e coeso.​
Esse é o charme da programação funcional e declarativa, para quem lê, é muito mais simples de entender o que está acontecendo, ao invés de se deparar com um loop ou coisa do tipo.​
Sobre a organização do tópico e a didática: estão de ótima qualidade! Vai direto ao ponto, mas sem deixar de salientar contrastes relevantes. Em poucos minutos de leitura você acaba absorvendo um conteúdo de extrema importância! Meus parabéns pelo tópico!​
Só uma curiosidade: No C# também temos esses tipos de expressões lambda, através de uma biblioteca chamada "LINQ", para fazer algo semelhante ao map do tópico em C#, faríamos dessa forma:​

C #:
int[]numbers = {1, 2, 3, 4};
var results = numbers.Select(x => x * 7);
 
Voltar
Topo Inferior