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

Console dizendo que o numero gerado é "undefined".

Mesmo sem um erro aparente e revisando o código, o console do navegador diz que o numero gerado é "undefined"

Qual o numero gerado?

6 respostas

José, Eu não sei o que se trata no código para saber variável que está indefindo = undefined que representa um valor indefinido.

Ex:

Basicamente na lógica estaria acontecendo como :

var nome;
console.log (nome); // undefined

O correto seria :

var nome = "José";
console.log (nome); // José

Espero esta base possa entender o que está no seu código.

Grato.

O código se trata da atividade "Manipulando Array" do curso de Lógica de programação 1, mas obrigado :D

solução!

Olá José!

Aconteceu algo semelhante comigo nesta mesma aula: o console dizia NaN (not a number - não é um número -). Então no meu código adicionei o parseInt para tranformar string em número. Segue o código abaixo:

var segredos = [];
    segredos.push(parseInt(Math.round(Math.random()*10)))
    segredos.push(parseInt(Math.round(Math.random()*10)))
    segredos.push(parseInt(Math.round(Math.random()*10)))
    segredos.push(parseInt(Math.round(Math.random()*10)))
    segredos.push(parseInt(Math.round(Math.random()*10)))
    console.log(segredos);

quando testava o código sem o parseFloat, o console mostrava NaN, mas depois que adicionei o mesmo, passou a dar certo.

José,

É melhor enviar o código, pois o assunto do problema é sobre undefined e não NaN. Envie por gentileza assim o grupo poderá esclarecer melhor. Grato

Pra resolver o que eu fiz foi tirar a função sorteia e jogar Math.round(Math.random()*10) direto em segredos.


    function sorteiaNumeros(quantidade) {

        var segredos = [];

        var numero = 1;

        while(numero <= quantidade) {

            segredos.push(Math.round(Math.random()*10));
            numero++;

        }

        return segredos;
    }

Mateus,

A função esta correta no teste.

Insere após da função criada dentro da tag script do html:

console.log (sorteiaNumeros(10));

Carregar o navegador e depois teclar F12

resposta : (10) [9, 2, 9, 6, 9, 3, 8, 4, 8, 10]

Então a princípio a função está ok.

Grato.