Bom, o objetivo dessa aula era que o aluno teria ganho 1 ponto a mais na média, então não poderíamos gerar um número aleatório ou inserir um novo valor para cada nota que ele obteve, seria um trabalho muito maior e que pode ser substituído pelo método map().
O valor 10 ficou 11 porque no primeiro código feito foi declarado apenas para adicionar +1 a cada elemento do array:
const notas = [10, 9, 8, 7, 6]
const notasAtualizadas = notas.map(nota => nota +1) // nota + 1 adiciona 1 número a mais em cada elemento do array.
console.log(notasAtualizadas) // Resultado [11, 10 , 9 , 8 , 7]
Nesse caso está se somando o valor 1 a todos os valores dentro do Array notas, porém, pensando em um contexto
onde o nosso limite de média é 10, não podemos permitir que ele some valores que já contém o número 10 como padrão:
const notas = [10, 9, 8, 7, 6]
const notasAtualizadas = notas.map(nota => nota == 10 ? nota : ++nota)
console.log(notasAtualizadas) // Resultado [ 10, 10, 9, 8, 7 ]
Agora temos delimitado pelo nosso if ternário que quando o valor da nota for igual a 10 ele não soma nenhum valor, porém
se o valor for menor que 10 ele adiciona mais um valor dentro dele.
Caso queria testar o código usando um if 'normal' fica assim o código:
const notas = [10, 9, 8, 7, 6]
const notasAtualizadas = notas.map(nota => {
if(nota == 10){
return nota
}else{
return ++nota
}
})
console.log(notasAtualizadas);