Oi! Vamos dar uma olhada no seu código para ver o que pode estar acontecendo com a função de sorteio. Pelo que você descreveu, parece que o problema está na lógica do loop for dentro da função sortear.
No seu código atual, o loop for está assim:
for (let i = 0; i > amigos.length; i++) {
if (i > amigos.length - 1) {
sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[0] + '<br>';
} else {
sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[i + 1] + '<br>';
}
}
Aqui, o problema está na condição do loop for. Você está usando i > amigos.length, mas deveria ser i < amigos.length. Isso está impedindo o loop de executar, pois i começa em 0, que não é maior que o comprimento da lista.
Além disso, a condição if (i > amigos.length - 1) também está incorreta. Deveria ser if (i == amigos.length - 1), para verificar se i é o último índice do array.
Aqui está a correção:
for (let i = 0; i < amigos.length; i++) {
if (i == amigos.length - 1) {
sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[0] + '<br>';
} else {
sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' --> ' + amigos[i + 1] + '<br>';
}
}
Com essas alterações, o loop deve funcionar corretamente, percorrendo todos os elementos da lista amigos e exibindo o sorteio de acordo com a lógica esperada.
Espero ter ajudado e bons estudos!