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.