1
resposta

proteção entrada de valores

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

    if (de >= ate) {
        alert('Campo "Do número" deve ser inferior ao campo "Até o número". Tente novamente');
        reiniciar()
        return;
      }

     let sorteados = [];
     let numero;
        
        for (let i = 0; i < quantidade; i++) {
            numero = obterNumeroAleatorio(de, ate);

            while (sorteados.includes(numero)) {
                numero = obterNumeroAleatorio(de, ate);

            }

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

    function obterNumeroAleatorio(min, max) {
        return Math.floor(Math.random() * (max - min +1)) + min;
    }

    function alterarStatusBotao() {
        let botao = document.getElementById('btn-reiniciar');
        if (botao.classList.contains('container__botao-desabilitado')) {
                botao.classList.remove('container__botao-desabilitado');
                botao.classList.add('container__botao');
        } else {
                botao.classList.remove('container__botao');
                botao.classList.add('container__botao-desabilitado');
        }
}

function reiniciar() {
    document.getElementById('quantidade').value = '';
    document.getElementById('de').value = '';
    document.getElementById('ate').value = '';
    document.getElementById('resultado').innerHTML = '<label class="texto__paragrafo">Números sorteados: nenhum até agora</label>';
    alterarStatusBotao();
}
1 resposta

Oi Mayra,

Excelente trabalho na implementação da lógica para o sorteio! 👍

A validação que você adicionou para garantir que o valor "Do número" seja menor que o "Até o número" é fundamental para o funcionamento correto do seu código. 💪

Para saber mais: Documentação da função isNaN() no MDN. Este link leva à documentação oficial da função isNaN() no MDN.

Continue praticando e explorando novas possibilidades! 💻