1
resposta

[Projeto] Resolução do problema de Stefany

Podemos resolver esse problema com pouca alteração no código mantendo-o, assim, claro e de fácil leitura:

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

let idadesAmigosMaisUm = [].concat(idadesAmigos);

calculaIdadesDaqui5Anos(idadesAmigosMaisUm);

Note que foi adicionado a seguinte linha:

let idadesAmigosMaisUm = [].concat(idadesAmigos);

Por concatenar (unir em um só) a lista com as idades alteradas para mais um ano com uma lista vazia criamos uma nova lista independente da anterior, com valores que, apesar de serem iguais a lista prévia, são independentes. Essa lista, por fim, é usada na última função que dá as idades dos amigos daqui a 5 anos.

1 resposta

Salve mano, entendi sua ideia e faz sentido. Mas acho que na real o certo seria criar uma nova lista sem somar 1. Apenas uma lista com os valores das idades. Pois se você concatenar, estará calculando a idade deles daqui a 6 anos, não?