JavaScriptArraysintermediario

reduce

Em aplicações reais, você frequentemente precisa resumir uma lista de dados em um único valor, como o total de vendas do mês ou a maior temperatura registrada. O método reduce() é a ferramenta certa para essas agregações, transformando um array em qualquer tipo de resultado — número, objeto, ou até outro array. Dominar reduce() substitui laços manuais e torna o código mais declarativo e enxuto.

O PROBLEMA

Use reduce() para somar números e encontrar o maior valor.

EXEMPLO

[1,2,3,4,5].reduce((acc,n) => acc+n, 0) → 15
.reduce((acc,n) => Math.max(acc,n), -Infinity) → 5

SOBRE O CONCEITO

reduce() percorre o array e acumula um valor a cada iteração, usando uma função callback que recebe o acumulador e o elemento atual. O segundo argumento de reduce() é o valor inicial do acumulador — esquecê-lo (como em arr.reduce((acc, n) => acc + n)) faz com que o primeiro elemento do array seja usado como acumulador, o que quebra operações como Math.max (pois o acumulador começa como número, não como -Infinity) e causa erro se o array estiver vazio. Sempre forneça um valor inicial que faça sentido para a operação: 0 para soma, -Infinity para máximo, [] para construir um novo array.

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