Alguem poderia explicar detalhadamente o método .reduce() em Js, tipo dar exemplos de aplicação etc...
Alguem poderia explicar detalhadamente o método .reduce() em Js, tipo dar exemplos de aplicação etc...
Fala Thales beleza ?
O reduce()
vai passar por todos os índices de um array e realizar uma operação, (por exemplo somar todo os itens de um array). com o objetivo de reduzir esse array a um único valor, mas sem modificar o array principal.
Ele recebe quatro parâmetros :
acumulado - valor que no nosso caso vai ser somado com primeiro item do array
atual - valor da soma no momento atual
index - indice do array
array - array que o
reduceestá passando
var array = [1, 2, 3, 4, 5];
var reduce = array.reduce(function(acumulado, atual, index, array){
return acumulado + atual;
},10);
console.log( reduce, array);
// 25
// [1, 2, 3 , 4, 5]
Podemos passar um valor que vai ser o primeiro a ser utilizado na operação, no nosso caso vamos fazer uma soma e passar o número 10 como valor inicial.
Outro exemplo, posso usar o reduce()
para concatenar strings
var string = ['R','O','N','A','L','D','O'];
var reduce = string.reduce(function(acumulado, atual, index, array){
return acumulado + atual;
});
console.log( reduce, string );
// RONALDO
// ["R", "O", "N", "A", "L", "D", "O"]
Note que eu não passei valor acumulado dessa vez. então o reduce()
pega o primeiro item do array, tomando o como se fosse o valor acumulado e o valor atual o segundo item.
Boa tarde, Thales! Como vai?
O método reduce()
executa uma função reducer (provida por você) para cada membro do array, retornando um único valor!
Exemplo
const array1 = [1, 2, 3, 4];
const reducer = (accumulador, valorAtual) => accumulador + valorAtual;
// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// valor esperado: 10
Para saber mais: Segue o link da documentação do método reduce()
.