Mesmo sem um erro aparente e revisando o código, o console do navegador diz 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"
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
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.