Francileudo Oliveira
Francileudo Oliveira18/01/2023 07:43
Compartilhe

JavaScript: Utilizando o Reduce para trabalhar com dados em arrays

      Olá, seja muito bem vindo(a), no artigo anterior aprendemos a utilizar os métodos filter e map para manipular arrays no JavaScript de maneira simples. Lembrando que o filter filtra dados criando um novo array apenas com o que queremos e o map manipula os dados para apresentá-los. Caso esteja interessado, o link do artigo é esse: https://programacao-descomplicada.blogspot.com/2023/01/utilizando-o-filter-e-map-para.html.

      Agora, vamos pegar o mesmo array do artigo anterior e utilizar o método reduce para somar as idades das pessoas presentes na lista. O reduce passa por cada elemento do array realizando alguma condição estabelecida, no nosso caso o somatório.

    const dadosPessoais = [
    
     {nome: "Beto", idade: 18, statusCivil: "solteiro"},
    
     {nome: "Ana", idade: 25, statusCivil: "Casado"},
    
     {nome: "Hiago", idade: 40, statusCivil: "Casado"},
    
     {nome: "Lucas", idade: 20, statusCivil: "solteiro"}
    
    ];
    

      O array é o que está sendo visualizado acima, vamos construir uma constante chamada totalIdades no qual teremos o método reduce. Dentro dele colocamos uma arrow function que retorna o somatório do resultado, que é um valor cumulativo, e o list que é a nossa lista.

    const totalIdade = dadosPessoais.reduce((resultado, list) => {
    
     return (resultado + list.idade)
    
    }, 0);
    
    console.log(totalIdade);
    

      Obteremos 103 como resposta, que no caso é o somatório de todas as idades dentro do array. O filter e o map podem ser utilizados para manipulação de dados em json para apresentação em tela, eu utilizei ambos para os dados do meu card de produtos no meu projeto de e-commerce, você pode dar uma olhada nesse link: https://github.com/fransilva0/projeto-e-commerce-nextjs, uma forma mais real de utilizar os métodos. Deixo um abraço e até o próximo artigo.

    Compartilhe
    Comentários (2)
    Edney Landim
    Edney Landim - 18/01/2023 11:53

    Obg pelo artigo, mt interessante

    Anderson Amantino
    Anderson Amantino - 18/01/2023 09:47

    Gostei do modo que você fez a sua explicação, foi bem simples e direta, obrigado. =)