Oii! Tudo bem?
Obrigada por compartilhar.
Você utilizou o forEach para a exibição dos dados e o reduce para o cálculo da soma dos progressos. Essa escolha deixa o código com uma característica mais declarativa, focando no que deve ser feito com os dados.
- Uso do
reduce: É uma das formas mais limpas de acumular valores em uma lista, evitando a criação de variáveis de controle externas (como um let soma = 0 fora de um laço). - Ao usar
({ nome, progresso }) no forEach, você acessa as propriedades diretamente, o que torna a leitura mais fluida. - A verificação
numeroEstudantes > 0 antes de calcular a média é um cuidado excelente para evitar erros matemáticos caso a lista estivesse vazia.
Uma pequena observação:
Notei que na sua lógica de decisão para o status, você utilizou:
const status = progresso > 70 ? situacaoAprovado : situacaoPendente;
De acordo com o enunciado, o estudante deve ser considerado "Aprovado" se o progresso for igual ou maior que 70. No seu código, um aluno com exatamente 70 ficaria com o status "Em andamento". Para ajustar, basta mudar o operador para >=.
Continue explorando esses métodos de array. Eles ajudam muito a escrever códigos mais concisos e fáceis de dar manutenção.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!