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!