Curso de JavaScript #04 - Map, Filter & Reduce

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 52

  • @CarolinaZerbini
    @CarolinaZerbini День назад

    o reduce tb dá pra agrupar valores de uma propriedade, gostei da aula!

  • @rpsjunior1330
    @rpsjunior1330 Год назад +1

    Venho estudando JS há algum tempo e sempre tive muitas dificuldades. Assistindo essa aula de hoje, percebi que muitas das dificuldades que vinha enfrentando era por causa da didática.
    Você ensina de maneira exemplar. Pude aprender muito com você.
    Continue assim. Parabéns

  • @1hakury
    @1hakury Месяц назад

    Primeiro video q vejo seu, sua didática é muito boa, parabéns!

  • @_bruno.benicio
    @_bruno.benicio 6 месяцев назад

    Caramba, eu tinha bastante dificuldade para enfender esses 3 métodos, hoje eu consegui entender. Genio demais esse cara.

  • @edniltonmatos8640
    @edniltonmatos8640 Год назад +5

    Apenas corrigindo pessoal, no reduce a primeira propriedade da função é o accumulator e o segundo currentValue, que nesse caso foi representado por ages.

  • @guilhermequintino8951
    @guilhermequintino8951 2 года назад +11

    Show de bola man, vendo todos os seus videos aqui, lembrando ao pessoal mais iniciante que map, filter e reduce nao altera os indices do array original que esta sendo iterado, ele cria um novo array ha partir do principal.

  • @Athir23
    @Athir23 Год назад

    Essa aula EXPLODIU minha mente cara!

  • @pablodelson
    @pablodelson 3 месяца назад

    Muito boa essa aula e você expliqua bem, sou iniciante e estou acompanhando seu curso
    a única diferença é que fiz utilizando arrow function pra diminuir o código
    mas acredito que você vai falar sobre arrow function mais para frente

  • @alissontomazelli
    @alissontomazelli 9 месяцев назад

    Top demais esse curso.
    Obrigado por compartilhar o conhecimento.

  • @samanthagil
    @samanthagil 2 года назад +21

    Exercícios simples para treino com base no que foi dado até agora:
    1 - Somar todos os números de 1 a 50 (ou qualquer outro número de sua escolha)
    2 - Somar todos os números pares de 1 a 50 (ou qualquer outro número de sua escolha)
    ________________________________________
    -
    -
    --------- SPOILER ---------
    RESOLUÇÃO ABAIXO
    -
    -
    _______________________________________
    *********EXERCICIO 1)**********
    let str = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50];
    somador = str.reduce(function(number, acumulador){
    return number+acumulador;
    }, 0);
    console.log('A soma dos numeros de 1 a 50 é = ' + somador);
    *********EXERCICIO 2)**********
    let str = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50];
    pares = str.filter(function(ref){
    return ref % 2 ===0
    });
    somadorPares = pares.reduce(function(ref2, acc){
    return ref2+acc;
    },0);
    console.log('Soma dos numeros pares de 1 a 50 é ' + somadorPares)

    • @LuizCBonini
      @LuizCBonini 2 года назад +2

      Gostei dos exercícios e resolvi faze-los, como eu já tinha estudado um pouco de loops resolvi também implementa-lo e o resultado final ficou assim:
      let numbers = [ ]
      // Adicionando 50 números a lista
      for (let i = 1; i

    • @Cookieukw
      @Cookieukw 2 года назад +3

      @@LuizCBonini lembrando q n precisa desse = no for, já q a condição pra ele continuar executando é o *i* ser menor que *50* , se ele é igual a *50* então n tem como ser menor

    • @mauricioleal5973
      @mauricioleal5973 Год назад

      Eu fiz tbm, mas como não assisti a aula, fiz do meu jeito. Demorei horas porque não quis pesquisar kkkk. Provavelmente o que eu fiz não é o mais correto a se fazer, mas estou aprendendo:
      Somar os números até 50:
      let contador = 0;
      let conta = 0;
      While (contador != 50){
      contador = contador + 1;
      conta = conta+contador
      }
      Console.log(conta)
      Somar os números pares até 50:
      While (contador != 50){
      contador = contador + 2;
      conta = conta+contador
      }
      Console.log(conta)
      Ao menos deu certo 😊

    • @mauricioleal5973
      @mauricioleal5973 Год назад

      Eu fiz os dois exercícios separadamente, mas as variáveis são as mesmas... Esqueci de escrever a declaração no começo da última aqui no comentário

  • @gabrielagomes782
    @gabrielagomes782 Год назад

    mais didático impossível. parabéns e obrigada!!!!

  • @oberlansena5467
    @oberlansena5467 2 года назад +2

    Suas aulas são incríveis!

  • @edniltonmatos8640
    @edniltonmatos8640 Год назад

    Você inverteu a ordem na hora de explicar sobre o método reduce e o accumulator. Na verdade o accumulator é o primeiro e depois vem o correntvalue(age). Com o exemplo que você deu não faz muita diferença já que numa soma a ordem dos fatores não altera o resultado, mas vale revisar esse vídeo já que não faz sentido manter uma explicação equivocada.
    Esse comentário não é uma bronca ou algo do tipo, é só uma sugestão de alteração. Apesar dos pesares, obrigado pelo vídeo, realmente está me ajudando muito.

  • @thiagorozner7242
    @thiagorozner7242 2 года назад +4

    Salve Felipe! To fazendo uma maratona do seu curso e to achando bem bacana, mas acho que seria legal no caso dessa aula em específico vc de repente citar situações que seriam usados esses métodos

    • @devdhill3483
      @devdhill3483 2 года назад

      Pois é, vejo muito disso nos cursos pela internet. (Não é uma critica negativa a esse curso, pois ele está muito esclarecedor.)

    • @guilhermequintino8951
      @guilhermequintino8951 2 года назад

      Imagina vc consumir uma requisicao http via get, esse get retornando uma propriedade do objeto como "valor", obviamente vc iria iterar cada objeto retornado desse json com essa propriedade citada, digamos que vc quer refletir valor total na pagina, ai que entra o reduce. Vc iria fazer a soma de todos esses valores de cada objeto do array vindo de uma requisicao get.

    • @guilhermequintino8951
      @guilhermequintino8951 2 года назад +2

      digamos que vc estaria mechendo em um sistema de ingressos para shows e precisasse filtrar quem e maior de idade, ai entraria o filter, vc criaria uma condicional nele filtrando quem e maior de 18 anos.

    • @guilhermequintino8951
      @guilhermequintino8951 2 года назад

      Map ainda nao precisei usar em alguma parte de sistema que mechi mas vc pode iterar o array de objetos original e almentar os valores dele, lembrando que map filter e reduce nao altera o valor do array original que esta sendo iterado.

    • @guilhermequintino8951
      @guilhermequintino8951 2 года назад

      forEach por sua vez altera o array original.

  • @guilhermeyoshioka-rendaext6917
    @guilhermeyoshioka-rendaext6917 2 года назад +1

    Parabens, aula top.

  • @UmaVertice
    @UmaVertice 2 года назад +3

    Uma outra forma que pode ser fácil de entender o reduce tbm é vendo dessa forma:
    const total = age.reduce(ageTotal, 0);
    function ageTotal(ages, accumulator){
    return age + accumulator;
    }
    Dessa forma consegui visualizar melhor do porquê que o 0 estava ali entre o ) e o }. Tinha entendido o que acontecia com ele, mas não o porquê de ser colocado bem ali -> ), 0}

    • @joeclay4700
      @joeclay4700 2 года назад

      achei que o exemplo do video mais fácil... mas cada um cada um e vice-versa...

  • @RPGamesBR
    @RPGamesBR 2 года назад

    Maratonei, Muito Obrigado!!

  • @guilhermemoraes4055
    @guilhermemoraes4055 Месяц назад

    5:15 (Sei que o curso tem 3 anos) mas atualmente, seria melhor utilizar:
    const evenAges = ages.filter((age) => age % 2 === 0);
    Ou está incorreto?

  • @iranorecchio6946
    @iranorecchio6946 Год назад

    Professor, ali no minuto 8:09 no caso do reduce e dos outros o primeiro argumento não é a palavra que agora representa os elementos do array, e o segundo argumento o valor atual?

  • @kiritosenpai8082
    @kiritosenpai8082 2 года назад +1

    Você falou que estava repetindo demais, e eu digo,repita,repita quantas vezes puder.

  • @vtrxff7873
    @vtrxff7873 8 месяцев назад

    é preciso usar os nome em ingles como vc fez, ou qlr nome serve? sumOfages poderia ser só adcages? para simplificar e n complicar pra quem n sabe ingles totalmente

  • @douglashenrique3270
    @douglashenrique3270 2 года назад

    Muito bom seus conteudos, mano! Sua voz é igualzinha do Fallen, não tem como não notar isso kkkkk

  • @NicolasFreitasEditor
    @NicolasFreitasEditor Год назад

    a única coisa que não ficou clara pra mim foi, como que você constou que "AgeS", e na função usou "age" em teoria nesta parte ages.reduce(function (age

    • @NicolasFreitasEditor
      @NicolasFreitasEditor Год назад

      é, eu modifiquei, coloquei uma outra palavra e sim dá de colocar qualquer outra palavra sendo que seja a mesma no Return
      const sumofages = ages.reduce(function(Abobrinha, accumulator) {
      return accumulator + Abobrinha;
      }, 0);

    • @NicolasFreitasEditor
      @NicolasFreitasEditor Год назад

      Eu não entendo muito bem como isso pode funfar

  • @AriMauricio
    @AriMauricio 2 года назад

    Só a nível de curiosidade:
    No exemplo do filter eu troquei o método pelo map, e a diferença foi o tipo de dado retornado.
    Com filter, a função retorna números.
    com map, a função retorna valores lógicos (true/false).

    • @Cookieukw
      @Cookieukw 2 года назад +1

      na vdd o filter ele filtra e ele retorna booleana
      const arry = [1, 2, 3, 4, 5, 6, 7]
      arry.filter((e) => {
      return false;
      })
      esse é parecido com o map msm, só acontece q vc faz um código ali(uma condição) q tem q retornar true ou false. se cair em true, o index da array(nesse caso é o *e* ) passa no filtro. se cair false, ele não passa. então nesse caso q eu pus como false, se eu der log na variável ela vai ser uma array vazia pq todas deram false

    • @Cookieukw
      @Cookieukw 2 года назад

      array.filter((e) => {
      let bolo = false
      if(e > 4) {
      bolo = true
      }
      return bolo;
      })
      // [5, 6, 7]

    • @Cookieukw
      @Cookieukw 2 года назад

      tem o
      array.forEach((e) =>{})
      tbm. funciona parecido com os outros, soq ele n retorna nd. supondo q vc queira apenas fazer um log de todos os itens, então faria sentido usar esse método e só por um log dentro dele

  • @robsonsilvaalmeida7162
    @robsonsilvaalmeida7162 2 года назад +2

    Até aqui ja da para fazer algo bem legal! (deixa joinha quem viu)
    /** Formata Nomes */
    const nome = "robson da silva almeida";
    const nomes = nome.toLowerCase().split(" ");
    const juncoes = ["da", "das", "do", "dos", "de"];
    const primeiraMaiuscula = nomes.map((n) => {
    if (juncoes.includes(n)) return n;
    return n[0].toUpperCase() + n.substring(1);
    });
    const nomeCompleto = primeiraMaiuscula.reduce((n, acc) => {
    return `${n} ${acc}`;
    }, "");
    console.log(nomeCompleto);
    /** Está tudo em português para entendimento, mas o recomendado é usar o inglẽs! xD */

  • @andreaugusto9083
    @andreaugusto9083 2 года назад

    Bom dia Felipe, estou começando agora no mundo da programação e esse seu curso tem me ajudado muito,
    Estou uma duvida aqui:
    Se eu precisar somar todas as idades de uma lista de pessoas como que eu faço,?
    por exemplo em uma lista com varios objetos dentro dela, onde temos membros de um club e queremos somar as idades.
    const membersHome = [
    {
    firstName: 'André',
    lastName: 'Souza',
    age: 29,
    description: 'Daddy',
    },
    {
    firstName: 'Cibele',
    lastName: 'Souza',
    age: 28,
    description: 'Mom',
    },
    {
    firstName: 'Issac',
    lastName: 'Souza',
    age: 5,
    description: 'Son',
    },
    Assim por exemplo,

    • @robsonsilvaalmeida7162
      @robsonsilvaalmeida7162 2 года назад +1

      tenta usar isso:
      const ages = membersHome.map((member) => {
      return member.age;
      });
      console.log(ages);
      const sumAges = ages.reduce((age, acc) => {
      return acc + age;
      });
      console.log(sumAges);
      😁

    • @UmaVertice
      @UmaVertice 2 года назад

      André, acredito que você tenha pego uma pequena parte da lista, mas caso não, no lugar da última "," é um )
      E o que o Robson escreveu está quase certo. Só faltou a palavra "function" depois dos .map e .reduce, ficando assim:
      const ages = membersHome.map(function(member){
      return member.age;
      });
      console.log(ages);

      const sumAges = ages.reduce(function(age, acc){
      return acc + age;
      });
      console.log(sumAges);
      assim dará no console.log o valor certo (claro que o primeiro log escrito no código não é necessário, mas caso queira ver a idade de um por um, então o console.log(ages) fará sentido).

    • @robsonsilvaalmeida7162
      @robsonsilvaalmeida7162 2 года назад

      @@UmaVertice se você reparar no código, foi usado arrow function xD o código está correto! (param) =>{}

    • @UmaVertice
      @UmaVertice 2 года назад

      @@robsonsilvaalmeida7162 é vdd!! Eu tanto não conhecia isso, quanto que qnd eu tinha colocado no programa mostrava uns erros, mas agora vi que tinha sido erro meu. Q massa!

  • @henriquesenadev2194
    @henriquesenadev2194 2 года назад

    Esse map parece bastante um for each

  • @berlim7pkrl936
    @berlim7pkrl936 2 года назад

    Não estou conseguindo acessar os codigos do link na descrição, alguem me ajuda

    • @dicasparadevs
      @dicasparadevs  2 года назад +1

      arrumei os links, bro!

    • @berlim7pkrl936
      @berlim7pkrl936 2 года назад

      @@dicasparadevs opa obgdão meu mano, otimo conteúdo o seu, estou aprendendo mt ❤️

  • @danielAmbrosioo1997
    @danielAmbrosioo1997 2 года назад

    Achei q era pra iniciantes, me perdi inteiro.