108 of 264 menu

Método reduce

O método reduce reduz um array a um único valor (reduz). Por exemplo, com este método pode-se facilmente encontrar a soma dos elementos do array (ou seja, o array é reduzido a um único valor - a soma dos elementos).

O primeiro parâmetro do método reduce recebe uma função, que será executada sequencialmente para cada elemento do array, começando pelo primeiro. Esta função pode receber 4 parâmetros. Se estes parâmetros estiverem presentes (não são obrigatórios), então o primeiro receberá automaticamente o resultado intermediário, o segundo receberá o elemento do array, o terceiro - seu número no array (índice), e o quarto - o próprio array.

O resultado intermediário é uma variável na qual será acumulado o valor que o método reduce retornará quando percorrer todos os elementos do array. Por exemplo, pode-se acumular sequencialmente a soma dos elementos do array: primeiro colocar o primeiro elemento, na próxima passagem do loop a soma do primeiro elemento e do segundo, na próxima passagem - a soma do primeiro, do segundo e do terceiro. E assim por diante, até o array terminar. A função que reduce recebe deve retornar o novo valor do resultado intermediário.

O segundo parâmetro do método reduce especifica o valor inicial do resultado intermediário. Se não for especificado, será igual ao primeiro elemento do array, e o processamento dos elementos começará a partir do segundo elemento.

Sintaxe

array.reduce(function(resultadoIntermediario, elemento, indice, array) { return novoResultadoIntermediario; }, valorInicial);

Exemplo

Vamos encontrar a soma dos elementos do array:

let arr = [1, 2, 3, 4, 5, 6]; let res = arr.reduce(function(soma, elem) { return soma + elem; }, 0); console.log(res);

Resultado da execução do código:

21

Exemplo

Vamos encontrar a soma de todos os números positivos do array:

let arr = [1, -2, -3, 4, 5, -6]; let res = arr.reduce(function(soma, elem) { if (elem >= 0) { return soma + elem; } else { return soma; } }, 0); console.log(res);

Resultado da execução do código:

10

Veja também

  • método reduceRight,
    que executa uma operação semelhante
  • método filter,
    que permite filtrar elementos do array
  • métodos map e forEach,
    que permitem aplicar uma função a cada elemento do array
  • métodos some e every,
    que executam verificação do array
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar