Uma forma de se resolve o problema da Stefany seria criar uma segunda lista para a função de 5 anos. Na aula anterior, o professor explicou que a lista, após passar por uma função acaba alterando seu valor de referencia, então no código feito pela Stefany, após a lista passar pela função "calculaProximasIdades" o valor da lista é alterado, o problema acontece neste momento, pois após isto a lista com seus valores alterados pela função anterior acaba passando pela função "calculaIdadesDaqui5Anos", somando assim mais 5 no valor da mesma lista.
function calculaProximaIdade(idade) {
idade += 1;
console.log(idade);
}
function calculaProximasIdades(idades) {
for (let i = 0; i < idades.length; i += 1) {
idades[i] += 1;
}
console.log(idades);
}
function calculaIdadesDaqui5Anos(idades) {
for (let i = 0; i < idades.length; i += 1) {
idades[i] += 5;
}
console.log(idades);
}
const idadeStefany = 21;
calculaProximaIdade(idadeStefany);
const idadesAmigos = [idadeStefany, 20, 23, 18, 7];
calculaProximasIdades(idadesAmigos);
const idadesAmigos5Anos = [idadeStefany, 20, 23, 18, 7];
calculaIdadesDaqui5Anos(idadesAmigos5Anos);
Demore 1 hora para perceber isso, e só fui perceber após rever a aula.