como um bom iniciante em programação, eu fiz, deu certo mas eu to com aquela sensação que de alguma coisa tá errada.
function sortear(){
let quantidade = parseInt(document.getElementById('quantidade').value); console.log(`Quantidade: ${quantidade}`);
let de = parseInt(document.getElementById('de').value); console.log(`De: ${de}`);
let ate = parseInt(document.getElementById('ate').value); console.log(`Até: ${ate}`);
let numero;
let sorteados = [];
if (de < ate){
let diferenca = ate - de;
if(quantidade < diferenca){
for (let i = 0; i < quantidade; i++){
numero = obterNumeroAleatorio(de, ate);
while (sorteados.includes(numero)){ // .includes verifica se uma variavel (numero) já está contida dentro de uma lista (sorteados)
numero = obterNumeroAleatorio(de, ate);
}
sorteados.push(numero)
}
let resultado = document.getElementById('resultado');
resultado.innerHTML = `<label class="texto__paragrafo">Números sorteados: ${sorteados.sort()}</label>`; // innerHTMT é utilizado para fazer alterações de texto não simples dentro do código html
alteraraStatusBotao();
} else {
alert(`O intervalo entre ${de} e ${ate} é menor que a quantidade de números a serem sorteados`);
reiniciar();
alteraraStatusBotao();
}
} else {
alert('Não é possivel calcular intervalos negativos!');
reiniciar();
alteraraStatusBotao();
}
}
function obterNumeroAleatorio(min, max){
return Math.floor(Math.random() * (max - min + 1) + min);
}
function alteraraStatusBotao(){
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 = '';
resultado.innerHTML = `<label class="texto__paragrafo">Números sorteados: Nenhum até agora</label>`; // innerHTMT é utilizado para fazer alterações de texto não simples dentro do código html
alteraraStatusBotao();
}