Olá Ivan! Tudo bem?
O trecho de código que você postou está no caminho certo, mas vou fazer uma análise para ver se podemos melhorar ou ajustar algo.
No seu código, você está verificando se quantidade
é maior que (ate - de)
. Isso é uma boa abordagem, pois garante que a quantidade de números a serem sorteados não exceda o intervalo. Se isso ocorrer, você exibe uma mensagem de alerta e interrompe a execução com um return
.
Aqui está um exemplo de como isso pode ser feito:
for (let i = 0; i < quantidade; i++) {
if (quantidade > (ate - de + 1)) {
alert("quantidade superior, retorne");
return;
}
let numero = obterNumeroAleatorio(de, ate);
while (sorteados.includes(numero)) {
numero = obterNumeroAleatorio(de, ate);
}
sorteados.push(numero);
}
Note que adicionei + 1
na condição quantidade > (ate - de + 1)
, pois o intervalo é inclusivo, então precisamos considerar o número inicial também.
Lembre-se de que a função obterNumeroAleatorio(de, ate)
deve ser capaz de gerar números dentro do intervalo especificado, incluindo os limites.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.