Olá pessoal!
Minha dúvida é:
No minuto 4:46. no return tenho o seguinte calculo: "return accumulator + 1"
Por que quando nota é alterado para o número 1, o terminal retorna 9? Foi citado que retorna a quantidade de elementos do array, mas por que acontece isso? Qual a lógica?
Outro ponto é que quando alteramos "return accumulator + nota", para "return accumulator + 1", acontece isso com o segundo parâmetro:
Li aqui sobre o segundo parâmetro do método .reduce(), ele serve para inicializar o acumulador com um valor definido. Mas ainda não entendi a lógica, por exemplo fiz um teste aqui.
segue me código:
const salaJS = [7, 8, 8, 7, 10, 6.5, 4, 10, 7];
const salaJava = [6, 5, 8, 9, 5, 6];
const salaPython = [7, 3.5, 8, 9.5];
function calculaMedia(notasDaSala) {
const somaDasNotas = notasDaSala.reduce((accumulator, nota) => {
return accumulator + 1;
}, 0)
console.log(somaDasNotas);
}
calculaMedia(salaJS);
Com esse código, o output no terminal é 9, mas se eu retirar o 0, que é o segundo parametro do reduce, o output é 15. Não entendi por que isso acontece, qual é o calculo feito.