1
resposta

[Sugestão] Loop infinito

Se o intervalo de números a sortear for menor qua a quantidade escolhida, a função irá sortear uma quantidade mínima e salvar no array, mas irá acontecer repetição de número nos cálculos pois o mesmo número será sorteado várias vezes. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ex: Math.floor(Math.random() * (max - min) + min)

((0,1)*(16 - 15 ) + 15) = 16 O intervalo escolhido só permite o sorteio de um número e ele sempre vai estar contido no array, daí o loop infinito.

PARA CORRIGIR O LOOP

  if (de >= ate) {
            alert("O valor inicial (Do número) não pode ser menor que o final (até o número).Favor corrigir.")
            return
        } else if ( (ate - de < quantidade)) {
            alert(`Erro! O intervalo de números escolhidos não permite sortear ${quantidade} números`)
            return
        }
1 resposta

Oii, Jeferson!

Realmente, se o intervalo de números for menor que a quantidade a ser sorteada, haverá repetição de números e, consequentemente, um loop infinito.

A sua sugestão de correção está no caminho certo. Você já está verificando se o valor inicial é maior ou igual ao valor final e se o intervalo é suficiente para a quantidade de números a serem sorteados.

Muito obrigada por compartilhar.

Um abraço e bons estudos.