Categorias
Artigos JavaScript

Dominando a função reduce( )

Para que serve o método reduce em JavaScript?

Podemos entender o método REDUCE da seguinte forma:

x.reduce(y) – reduz valores de um array x para um único valor usando a função y
  • A função reduce( ) reduz os itens de um array com base em uma função.
  • Retona um único valor.
  • Sintaxe: objeto.reduce(função)

Digamos que desejemos calcular a nota média da turma.

Texto

Descrição gerada automaticamente

Bom, agora nosso código ficou um pouco mais complicado. Vamos analisá-lo parte a parte:

Perceba que criamos uma function expression para receber o somatório de valores. Essa função recebe dois parâmetros e retorna a soma deles. Usaremos essa função na entrada da função reduce.

A seguir criamos uma variável chamada média. A média é a soma dos valores dividido pela quantidade de valores. Então, precisamos primeiro pegar os valores correspondentes. Fazemos isso quando usamos o comando:

estudantes.map(i=>nota)

A seguir, aplicamos a função reduce que recebe como entrada a função somatorio( ):

.reduce(somatorio)

Note que reduce pegará cada valor do array, aplicará um processamento e fará uma chamada recursiva até que todos os valores tenham sido analisados. No caso, fará o somatório de todos os valores presentes no array. Por fim, precisamos dividir pela quantidade de alunos presentes na lista. Podemos fazer isso usando:

/ estudantes.length

Desta forma, conseguimos usar reduce( ) para calcular a média.

Quer aprender mais sobre Desenvolvimento Web?

Dá uma olhada nesses cursos disponíveis a partir de R$ 27,90 e ainda dá uma moral pra esse pobre professor 😉

Por Diego Mariano

Doutor em Bioinformática pela Universidade Federal de Minas Gerais com atuação na área de ciência de dados e aprendizado de máquina aplicados ao aperfeiçoamento de enzimas usadas na produção de biocombustíveis. Mestre em Bioinformática, também pela UFMG, atuando na área de desenvolvimento de sistemas Web para montagem de genomas. Atualmente realiza estágio pós-doutoral no Departamento de Ciência da Computação da UFMG com foco em desenvolvimento de sistemas Web para Bioinformática, análise exploratória e visualização de dados. Tem conhecimentos nas linguagens: PHP, JavaScript, Python, R, Perl, HTML, CSS e SQL.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

error

Compartilhe este post!

Facebook
YouTube
LinkedIn
Instagram