Essa foi a solução que encontrei, criar variavel do intervalo dos numeros para conseguir comparar com a quantidade, essa minha solução tem mais linhas de codigo que a solução de outros amigos aqui.
Essa foi a solução que encontrei, criar variavel do intervalo dos numeros para conseguir comparar com a quantidade, essa minha solução tem mais linhas de codigo que a solução de outros amigos aqui.
Olá, Fernando!
Sua solução está no caminho certo ao verificar se a quantidade de números a serem sorteados é maior que o intervalo disponível. Isso realmente evita o problema do loop infinito. Vamos ver como podemos deixar o código mais conciso.
Você pode simplificar a lógica ao calcular o intervalo e fazer a verificação em uma única linha. Veja um exemplo:
let intervalo = ate - de + 1; // Inclui o número final no intervalo
if (de >= ate) {
alert('Número inicial não pode ser maior ou igual ao número final.');
} else if (quantidade > intervalo) {
alert('A quantidade de números não pode ser superior ao intervalo de números escolhidos.');
} else {
// Aqui você pode continuar com o sorteio
}
Note que adicionei + 1
ao cálculo do intervalo para incluir o número final no intervalo. Assim, a verificação se torna mais precisa.
Espero ter ajudado e bons estudos!