Olá! Apenas para compartilhar o meu código, segue como ficou (utilizei uma lógica diferente da aula para poder evitar o sorteio de números iguais... Criei primeiramente a lista com o "de" e "ate", e depois embaralhei essa lista, puxando os "quantidade" números pedidos no sorteio):
function sortear() {
let listaNum = [];
let quantidade = parseInt(document.getElementById("quantidade").value);
let de = parseInt(document.getElementById("de").value);
let ate = parseInt(document.getElementById("ate").value);
if (de > ate){
alert('Cuidado! Você inseriu um número máximo menor do que o mínimo');
} else if (quantidade > (ate - de)){
alert('Você colocou números demais na quantidade! Diminua');
reiniciar();
} else {
for (let i=de; i<=ate; i++){
listaNum.push(i);
}
let embaralhada = listaNum.sort(() => Math.random() - 0.5); // Aqui ele pode ou não embaralhar a lista listaNum (sempre que Math.random() - 0.5 < 0)
let sorteados = embaralhada.slice(0,quantidade); // Cria uma nova array do índice 0 até quantidade a partir de embaralhada (os 'qtde'-1 primeiros)
console.log("Sorteados",sorteados);
exibirTexto('resultado', `<label class="texto__paragrafo">Números sorteados: ${sorteados}</label>`); // Tem que colocar exatamente como aparece no cód HTML
habilitarBotao();
}
}
function habilitarBotao(){
let botao = document.getElementById('btn-reiniciar');
botao.classList.replace('container__botao-desabilitado','container__botao');
}
function exibirTexto(tag, texto){
let campo = document.getElementById(tag);
campo.innerHTML = texto;
}
function reiniciar(){
document.getElementById("quantidade").value = '';
document.getElementById("de").value = '';
document.getElementById("ate").value = '';
exibirTexto('resultado', '<label class="texto__paragrafo">Números sorteados: nenhum até agora</label>');
}