JavaScriptArraysdesafio

Pipeline de dados

Quando você trabalha com dados em um sistema real, dificilmente vai processar tudo com um laço for — hoje em dia a abordagem mais comum é encadear métodos como filter, map, reduce e sort. Esse padrão, chamado de pipeline, torna o código mais declarativo, legível e fácil de dar manutenção. Dominar esse estilo é essencial para manipular arrays em JavaScript moderno, seja em APIs, dashboards ou relatórios.

O PROBLEMA

Filtre vendas do mês, agrupe por vendedor, calcule total e exiba ranking.

EXEMPLO

Ranking junho:
1º Ana: R$4500.00
2º João: R$3200.00

SOBRE O CONCEITO

A chave do exercício é construir uma pipeline sem loops. Comece com filter() para selecionar as vendas do mês desejado. Em seguida, use reduce() para agrupar por vendedor — o erro mais comum aqui é esquecer de inicializar o acumulador como um objeto vazio {}. Dentro do reduce, para cada venda, você verifica se o vendedor já existe no acumulador; se não, cria a entrada com valor 0 e depois soma o total. Depois, com Object.entries() transforma o objeto em array de pares [vendedor, total] e aplica sort() para ordenar do maior para o menor total. Por fim, map() com toFixed(2) formata os valores e monta o ranking. Lembre-se: o reduce sem o valor inicial {} vai tratar o primeiro elemento como acumulador, o que quebra a lógica.

RESOLUÇÃO

Mais exercícios de Arrays

JSA015 · Intermediáriosome e everyJSA017 · IntermediárioOrdenar números corretamenteJSA001 · BásicoCriar e exibir arrayJSA002 · Básicopush e pop
Ver todos os exercícios de JavaScript