Boa Tarde Mateus, tudo bem?
Não existe uma maneira "mais correta" de resolver um problema em programação, se o seu codigo resolve o problema então esta correto, e nesse caso ambos os codigos vão chegar no mesmo resultado.
O que podemos usar para decidir por um ou por outro é o desempenho do codigo, ou o quanto de tempo que vai demorar para executar o seu codigo, como esse é um codigo pequeno, não vai fazer muita diferença, mas podemos analiza-lo. No codigo
for(i=0;i<notas.length;i++){
somaMedias=somaMedias+notas[i];
}
console.log(somaMedias/notas.length);
para cada vez que o for()
é executado temos uma soma e uma atribuição, e no final 1 divisão, então se tivermos 100 notas, por exemplo, vamos ter:
- 100 somas
- 100 atribuições
- 1 divizão
Já neste segundo caso:
for(i=0;i<notas.length;i++){
somaMedias=somaMedias+notas[i]/notas.length;
}
console.log(somaMedias);
para cada vez que o for()
é executado temos uma divizão, uma soma e uma atribuição, então se tivermos 100 notas, por exemplo, vamos ter:
- 100 somas
- 100 atribuições
- 100 divizões
Então comparando as 2 implementações do código, a primeira vai ser um pouco mais rapida, mas nenhuma diferença muito grande. Vamos começar a perceber essas diferenças se tivermos, algo como, 100 mil notas, onde executamos 99.999 divizões a menos.
Então, de forma geral, não se preocupe com qual codigo é o "mais correto" ou o mais rapido nesse momento, mas sim, se ele resolve o problema proposto, continue com as pesquisas e duvidas, e bons estudos