Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Seria gambiarra?

Eu apenas modifiquei a soma para 4 na função calculaIdadesDaqui5Anos(idades), E pensei em modifcar o nome para calculaIdadesDaquiAMais4Anos(idades), mas não sei se isso poderia ser uma gambiarra e a única solução seria mesmo criar outro array?!

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] += 4;
    }
    console.log(idades);
}

const idadeStefany = 21;
calculaProximaIdade(idadeStefany);

const idadesAmigos = [idadeStefany, 20, 23, 18, 7];
calculaProximasIdades(idadesAmigos);

calculaIdadesDaqui5Anos(idadesAmigos);
3 respostas
solução!

Olá Nayana, tudo bem?

Não tem problema, você poderia sim modificar o nome dessa função ou mesmo criar uma nova função para fazer esse cálculo de obter as idades daqui à 4 anos. Mas uma coisa que devemos pensar é que se você precisasse de muitas funções de cálculo de idade, Exemplo:

function calculaIdadesDaqui5Anos(idades) {
     for (let i = 0; i < idades.length; i += 1) {
        idades[i] += 5;
    }
    console.log(idades);
}

function calculaIdadesDaqui10Anos(idades) {
     for (let i = 0; i < idades.length; i += 1) {
        idades[i] += 10;
    }
    console.log(idades);
}

function calculaIdadesDaqui15Anos(idades) {
     for (let i = 0; i < idades.length; i += 1) {
        idades[i] += 15;
    }
    console.log(idades);
}

Talvez seria mais interessante criar uma única função que receba também um parâmetro tempo, e esse parâmetro poderia ser utilizado no lugar de um valor fixo na soma.

function calculaIdadesDaquiXAnos(idades, tempo) {
     for (let i = 0; i < idades.length; i += 1) {
        idades[i] += tempo;
    }
    console.log(idades);
}

Eu só consegui fazer criando uma nova constante: idadeAmigos2 porque ele estava acrescentando os 5 anos com o valor da idadesAmigos e sempre ficava um ano a mais. Sei que deve ter outra forma de fazer...mas nao encntrei

const idadeStefany = 21 const idadesAmigos = [idadeStefany, 20, 23, 18, 7] const idadesAmigos2 = [20, 23, 18, 7]

function calculaProximaIdade(idades) { for (let i = 0; i < idades.length; i += 1) { idades[i] += 1 } console.log('idade dela daqui a 1 ano sera: ' + idades) } calculaProximaIdade(idadeStefany)

function calculaProximasIdades(idades) { for (let i = 0; i < idades.length; i += 1) { idades[i] += 1 } console.log('idade amigos daqui 1 ano:' + idades) } calculaProximasIdades(idadesAmigos)

function calculaIdadesDaqui5Anos(idades) { for (let i = 0; i < idades.length; i += 1) { idades[i] += 5 } console.log('daqui a 5 anos: ' + idades) } calculaIdadesDaqui5Anos(idadesAmigos2)

oie Vitor ,

Faltou mesmo pensar mais genérico. Mas eu chego lá. perfeita solução. super obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software