Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ajuda com acumulador

Estou tentando criar um sistema com 3 botões. O primeiro executa uma função que gera um array (números da aposta) com números aleatórios de 1 a 60. O segundo gera também outro array (números do resultado) com número aleatórios. O terceiro botão, supostamente deveria examinar um a um dos itens do primeiro array, compará-lo ao segundo array e, no caso de serem iguais, adicionar esse número a um terceiro array (números que a pessoa acertou). Esse terceiro botão, no entanto, adiciona o número ao array junto com "undefined". Ex. Array[32, undefined] O que está errado com o código? Segue o código:

<meta charset="UTF-8">

<input type="submit" value="Gerar Bilhete" id="lotteryCard"/>
<input type="submit" value="Sorteados" id="vencedor"/>
<input type="submit" value="Resultado" id="resultado"/>

<script>

var winningNumbers = [];
var lotteryNumbers = [];
var resultNumbers = [];

var gerarNumerosLoteria = function() {
    for (var i=0; i < 6; i++) {
        var numero = Math.round(Math.random() * 60);
        lotteryNumbers.push(numero);
    }
    console.log(lotteryNumbers);
}
var gerarNumerosVencedores = function () {
    for (var i=0; i < 6; i++) {
        var numero = Math.round(Math.random() * 60);
        winningNumbers.push(numero);
    }
    console.log(winningNumbers);
}

var resultadoLoteria = function() {
    for(var i=0; i<=lotteryNumbers.length; i++) {
        for(var j=0; j<=winningNumbers.length; j++) {
            if(lotteryNumbers[i] == winningNumbers[j]) {
                resultNumbers.push(lotteryNumbers[i]);
            }
        }
    }
    console.log(resultNumbers);
}

var numeroBilhete = document.getElementById('lotteryCard');
numeroBilhete.onclick = gerarNumerosLoteria;

var numeroVencedor = document.getElementById('vencedor');
numeroVencedor.onclick = gerarNumerosVencedores;

var numeroResultado = document.getElementById('resultado');
numeroResultado.onclick = resultadoLoteria;

</script>
1 resposta
solução!

Pelo que eu entendi, acredito que o erro pode estar na lógica do seu if

Se o numeroBilhete não for igual ao numeroVencedor ele não esta fazendo nada, ou seja deixando o array resultadoLoteria vazio, que retorna como erro Undefined.

Reforce sua lógica do if, se o numero sorteado não for igual ao numeroBilhete, tente mostrar o numero sorteado e o numero do vencedor(que no caso nao seria vencedor)

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