Erro ao calcular a média de um array
Vamos considerar um erro relacionado ao cálculo da média aritmética dos elementos de um array. Suponha, por exemplo, que temos o seguinte array:
let arr = [1, 2, 3, 4, 5];
Para encontrar a média dos elementos, é necessário encontrar sua soma e dividir pela quantidade. Um determinado programador já resolveu este problema da seguinte forma:
let avg = 0;
for (let elem of arr) {
avg += elem / arr.length;
}
console.log(avg);
Vamos analisar os problemas dessa solução. Tecnicamente, o código funciona corretamente e fornece a resposta certa. Matematicamente, é correto tanto dividir toda a soma pela quantidade quanto dividir cada uma das parcelas pela quantidade.
No entanto, surge outro problema. O fato é que我们将执行除法 次数与数组中的元素数量一样多。结果是我们执行了 大量多余的操作, 毕竟除法本可以 在最后执行——只执行一次,将整个 找到的总和进行除法运算。
Vamos otimizar nosso código:
let sum = 0;
for (let elem of arr) {
sum += elem;
}
let avg = sum / arr.length;
console.log(avg);