Introdução
Neste laboratório, exploraremos o conceito de mapeamento (mapping) e redução (reducing) de arrays em JavaScript. Especificamente, aprenderemos como usar a função averageBy() para calcular a média de um array após mapear cada elemento para um valor usando uma função fornecida. Através de exercícios práticos e exemplos, obteremos uma compreensão mais profunda desses poderosos métodos de array e como eles podem ser usados para otimizar nosso código.
Instruções para Calcular a Média de um Array Mapeado
Para calcular a média de um array, você pode mapear cada elemento para um novo valor usando a função fornecida. Aqui estão os passos:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.prototype.map()para mapear cada elemento para o valor retornado porfn. - Use
Array.prototype.reduce()para adicionar cada valor mapeado a um acumulador, inicializado com o valor0. - Divida o array resultante pelo seu comprimento para obter a média.
Aqui está o código que você pode usar:
const averageBy = (arr, fn) =>
arr
.map(typeof fn === "function" ? fn : (val) => val[fn])
.reduce((acc, val) => acc + val, 0) / arr.length;
Você pode testar esta função usando os seguintes exemplos:
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n); // 5
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // 5
Resumo
Parabéns! Você concluiu o laboratório de Média de Array Mapeado. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.