Usando Array reduce com JavaScript
1a atrás
Reduce é um método de Array do #JavaScript que retorna um valor único, aplicando um callback em cada item do array e acumulando os resultados.
Sintaxe
O método reduce recebe um callback, que é aplicado a cada item de array, e um valor inicial, que será acumulado:
Array.reduce(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any
Somando itens
Você pode usar o reduce para somar os itens de um array e retornar a soma, por exemplo:
const arr = [0, 1, 2, 3, 4];
arr.reduce((previousValue, currentValue) => {
return previousValue + currentValue;
}, 0); // 10
Substituindo .filter().map() por .reduce()
Outra utilidade do método reduce é poder filtrar e transformar os itens do array de uma vez só, não precisando de duas funções diferentes para isso. No exemplo abaixo, nós retornamos o dobro de todos os itens que tiverem "x" maior ou igual a 10:
const arr = [{ x: 5 }, { x: 1 }, { x: 10 }, { x: 20 }, { x: 7 }];
const result = arr.reduce((previousValue, currentValue) => {
if (currentValue > 10) previousValue.push(currentValue * 2);
return previousValue;
}, []); // [20, 40]
Referências
Para mais informações, acesse:
JavaScript Array reduce() Method
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
Comentários (0)