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

Erro na função - estou tentando jogar números de um sorteio numa Array - alguém pode me dizer qual meu erro? Obrigado

8 respostas

Olá Daniel,

Não veio o código com o erro, pode postar ele para auxiliarmos?

<meta charset="UTF-8">
<input type = "text" id="chutes"/>
<input type = "submit" value="Tente acertar na Mega Sena. Digite 6 números de 1 a 60!" id="compare"/>

<script>

var sorteio = [];
var sorteando = Math.round(Math.random()*60);
var jogandosorteio = function(){
    for(var sorteando = 0; sorteando < 6; sortando++){
        jogandosorteio.push(sorteio);
        console.log(jogandosorteio);
        }    

}

var botao = document.getElementById("compare");
botao.onclick=jogandosorteio;


</script>

Olá Donizete! Veja se agora você consegue!

Daniel,

para postar código sempre usa o botão "inserir código".

abs

Olá Daniel,

Verifiquei alguns problemas no seu código, por exemplo:

na linha 11 temos:

jogandosorteio.push(sorteio);

Ali você está tentando adicionar os valores dentro da função, e o correto seria adicionar dentro do array:

sorteio.push(sorteio);

Ainda dentro desta mesma linha tu estas adicionando o array sorteio dentro do próprio array, creio que a intenção seria adicionar o valor da variável "sorteando":

sorteio.push(sorteando);

Mesmo fazendo estas alterações os valores gerados dentro do array serão de 0 a 5, pois você está gerando apenas um valor:

var sorteando = Math.round(Math.random()*60);

Mas utiliza uma variável com o mesmo nome dentro da função no for:

for(var sorteando = 0; sorteando < 6; sortando++){

Neste caso deve ser alterado o nome das variáveis e provavelmente, conforme solicitar o exercício, alterar o local do código que sorteia as variáveis, para sortear mais de um número.

Corrigindo estas questões, o código já irá sortear os números.

Espero ter ajudado.

Donizete Obrigado pela atenção. O que não estou conseguindo programar é a geração dos 6 sorteios. Antes o código estava fora do lugar, mas tentei inseri-lo como a variável de um for, mas não funcionou também. Onde encaixar o código da repetição? Obrigado

var numerosSorteados = [];
var sorteio = function (){
    for(var numeroDoComputador = Math.round(Math.random()*60); numeroDoComputador<6; numeroDoComputador++){
        numerosSorteados.push(sorteio);
        console.log(soreio);

    }    

}
solução!

Agora você esta gerando um numero dentro da variável utilizada pelo for

for(var numeroDoComputador = Math.round(Math.random()*60);numeroDoComputador<6; numeroDoComputador++){

Neste caso, se o valor gerado para o numeroDoComputador for 50 por exemplo, ele já irá sair do for, pois está fora da faixa selecionada. (50 <6? - False)

Tenta fazer da seguinte forma:

var numerosSorteados = [];
var sorteio = function (){
    for(var numeroDoComputador=0;numeroDoComputador<6; numeroDoComputador++){
        var sorteio = Math.round(Math.random()*60);
        numerosSorteados.push(sorteio); 
        console.log(sorteio);

Desta forma, a variável numeroDoComputador serve apenas para controle do for, garantindo que serão gerados 6 números e a variável sorteio gera um novo número em cada interação do for, que seriam os números sorteados.

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