1
resposta

[Dúvida] Desafio 6 - Porque o console.log apresenta a função e não o resultado gerado na função ?

Olá boa tarde comunidade,

Enquanto exercitava as funções, resolvendo o exercício 6, deparei-me com uma situação. Eis o meu código :

let tabuada = calculoTabuada(4);

console.log(calculoTabuada);


function calculoTabuada (numero) {

    for ( i=1 ; i <= 10 ; i++){
       let resultado =  numero * i 

        return calculo = (`${numero} * ${i} = ${resultado}`)
    }

}

Usei o ciclo for para repetir a multiplicação. O let número, é o número a ser multiplicado. O let i conterá os multiplicadores, de 1 a 10. O return gerará a tabuada.

Todavia, isso não acontece, como partilho na imagem seguinte. No console.log não vejo nenhuma tabuada.

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

O que falta no meu código para que o return gere a tabuada ?

1 resposta

Olá, Jocemar! Sua função só retorna uma linha, e não toda a tabuada. Olha só os problemas:

O return está dentro do for, então ele sai do loop na primeira iteração (ou seja, só retorna "4 * 1 = 4").

console.log(calculoTabuada) só imprime a função em si, e não o resultado dela.

A variável calculo é usada como return, mas nem é necessária.

Falta declarar o i com let.

Correção

function calculoTabuada(numero) {
    for (let i = 1; i <= 10; i++) {
        console.log(`${numero} * ${i} = ${numero * i}`);
    }
}

calculoTabuada(4);

Espero que vai funcionar.