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

[Dúvida] A proteção de intervalo não funciona :(

Os códigos estão certinhos, mas por algum motivo que não consigo enxergar, a proteção contra um intervalo menor que a quantidade desejada não funciona. Como resultado, quando testei essa condição, a página simplesmente trava e nem mesmo mostra o alerta. O que fiz de errado?

function sortear () {
    let quantidade = parseInt(document.getElementById('quantidade').value);
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);

    let listaDeNumerosSorteados = [];
    let numero;

    for (let index = 0; index < quantidade; index++) {
        numero = gerarNumeroAleatorio(de, ate);
    
    while (listaDeNumerosSorteados.includes(numero)) {
        numero = gerarNumeroAleatorio(de, ate);
    }

    listaDeNumerosSorteados.push(numero);
    }

    if (de >= ate) {
        alert('Atenção! O campo "de" apresenta um valor maior que "até". Estabeleça novos parâmetros:');
        return;
    }

    if (quantidade > (ate - de + 1)) {
        alert('Atenção! O quantidade de números sorteados desejada é maior que o intervalo. Estabeleça novos parâmetros:');
        return;
    }

    let resultado = document.getElementById('resultado');
    resultado.innerHTML = `<label class="texto__paragrafo">Números sorteados:  ${listaDeNumerosSorteados}</label>`
    

    alterarStatusDoBotao();
}
2 respostas
solução!

Bom dia!

Mova a linha de código "listaDeNumerosSorteados.push(numero); }" para depois do ultimo "if" e veja se da certo!

Funcionou! Muito obrigado, Harlen!