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

Consegui solucionar o problema com o for, mas não consegui com o forEach. Alguém poderia me ajudar?

const notas = [10, 9, 8, 7, 6];

// for(let i = 0; i < notas.length; i++){

//     if(notas[i]<10){
//         notas[i]++
//     }
// }

notas.forEach(addPonto)

function addPonto(notas){
    if(notas<10){
        notas++;
    }
}

console.log(notas);
5 respostas

Sou iniciante também e bati cabeça pra tentar te ajudar (uma forma de eu me desafiar e aprender também). Com ajuda do Google (que não tinha muito a ver os exemplos) e após inúmeras tentivas sem sucesso, cheguei a esse código aqui:

const notas = [10, 9, 8, 7, 6];

function addPonto(notas) { if (notas<10) console.log (notas+1); else console.log(notas); } notas.forEach(addPonto);

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

// o resultado ficou 10, 10, 9, 8, 7. Cumpriu o esperado, não sei se está certo. Não consegui fazer o notas++ dar ceto, por isso coloquei notas+1

Obrigado pela ajuda, bons estudos também

solução!

Olá Álvaro e Camila, tudo bem com vocês?

Álvaro, a sua solução esta usando um metodo que não é o ideal para o problema da forma que ele esta escrito, o .forEach() não tras nenhum retorno, então o vetor notas não vai ser alterado. Para funcionamento com o .forEach() a Camila trousse uma boa opção, colocando o console.log() dentro do metodo. Outra opção é o metodo .map() que vai ser visto mais para frente no curso, e ele tem a caracteristica de retornar valores, diferente do .forEach().

Camila, a sua resposta esta correta e funcionando perfeitamente, já sobre o notas++, o que ocorre é que a função é executada e depois a variavel é incrementada, então o comando console.log(notas++) é executado como:

console.log(notas)
notas = notas+1

Para fazermos a soma ocorrer antes, podemos apenas colocar o ++ antes da variavel, então teriamos o comando console.log(++notas) que seria executado como:

notas = notas+1
console.log(notas)

Logo o seu programa ficaria com essa aparencia

const notas = [10, 9, 8, 7, 6];

function addPonto(notas) { 
        if (notas<10) 
                console.log (++notas); 
        else 
                console.log(notas); 
        } 
notas.forEach(addPonto);

Esperam que tenham entendido, continuem suas pesquisas e bom estudos

Olá, prof. Que honra! Agora entendi sim! :D (Do map me lembre, mas não me lembrei de que o ++ iria antes). Amei aprender fundamentos contigo e com a Ju. Eu concluí mas vou revisar, pois quero aprender bem cada passo pra conseguir avançar na linguagem. Obrigada!

Obrigado pela ajuda, professor.

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