4
respostas

Uma forma de resolução

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.

4 respostas

Ajudou demais, eu ia perder tempo demais batendo cabeça aqui, obrigado por compartilhar Bruno !! :)

Boa Bruno, fiquei quebrando a cabeça aqui também.... grato pela dica!!!!

Abraços!!

Gostei da sua solução, obrigado por compartilhar.

A versão do instrutor Andrew Ljano Lopes é essa:

function calculaProximaIdade(idade) { idade += 1; console.log(idade); }

function calculaProximasIdades(idades) { const copiaIdades = [idadeStefany, 20, 23, 18, 7] for (let i = 0; i < copiaIdades.length; i += 1) { copiaIdades[i] += 1; } console.log(copiaIdades); }

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);

calculaIdadesDaqui5Anos(idadesAmigos);