Dentro do paradigma da programação funcional no JavaScript, o método reduce()
é uma das funções fundamentais. Esta permite trabalhar com arrays podendo ser utilizada, por exemplo, para somar todos os elementos de um array, calcular a média, concatenar strings, etc.
O método reduce()
permite iterar e executar uma função de callback por cada elemento do array. O valor devolvido pela função (normalmente denominado de acumulador) é utilizado como valor acumulativo para a próxima execução do callback. O resultado final é um único valor.
Seguem alguns exemplos práticos com a função reduce()
do JavaScript.
Sintaxe:
array.reduce(callback[, initialValue])
Exemplo:
Saída:
previousResult (accumulator): 5 currentElement (current element value): 10 currentIndex (current element array index): 1 array (the array): Array(3) -------------------------------- previousResult (accumulator): 15 currentElement (current element value): 15 currentIndex (current element array index): 2 array (the array): Array(3) -------------------------------- result (5+10+15): 30 ________________________________ previousResult (accumulator): 100 currentElement (current element value): 5 currentIndex (current element array index): 0 array (the array): Array(3) -------------------------------- previousResult (accumulator): 105 currentElement (current element value): 10 currentIndex (current element array index): 1 array (the array): Array(3) -------------------------------- previousResult (accumulator): 115 currentElement (current element value): 15 currentIndex (current element array index): 2 array (the array): Array(3) -------------------------------- result (100+5+10+15): 130
Conclusão
O método reduce()
apresenta algumas vantagens face aos tradicionais ciclos for
e forEach
: escrita de código mais limpo, maior facilidade de implementação da lógica pretendida e melhor manutenção do código. Além disso, este método não altera o array original, o que significa que é uma função imutável e, portanto, tem também outras vantagens inerentes à programação funcional (escrita de funções puras que elimina os chamados “efeitos colaterais”, maior facilidade em escrever testes e em fazer debugger, entre outras).
Achou interessante? Siga-me no Twitter.
0 Comments