Oi, Diego! Tudo bem?
Parabéns pela realização da atividade! Deixo como sugestão uma alteração na sintaxe do nosso getElementById
, pois a string está com uma aspa simples faltando no final, devemos, então, deixar o nosso código da seguinte forma: document.getElementById('lista-amigo')
.
Devemos também nos atentar à palavra length
que está escrita como lenght
, porém o correto seria length
.
Por fim sugiro um ajuste na lógica dentro do loop para que cada amigo seja emparelhado com outro:
let amigos = ['Ana', 'Bruno', 'Carlos', 'Diana', 'Eduardo'];
function embaralhar(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
}
function sortear() {
embaralhar(amigos);
let sorteio = document.getElementById('lista-amigo');
sorteio.innerHTML = ""; // Limpar a lista antes de adicionar
for (let i = 0; i < amigos.length; i++) {
if (i === amigos.length - 1) {
sorteio.innerHTML += amigos[i] + " --> " + amigos[0] + "<br>";
} else {
sorteio.innerHTML += amigos[i] + " --> " + amigos[i + 1] + "<br>";
}
}
}
Aqui adicionamos uma função para embaralhar a lista de amigos e garantir que a ordem seja aleatória, além de antes de começar a adicionar os resultados, limpar o conteúdo do innerHTML
para evitar duplicações em execuções consecutivas.
Espero ter ajudado!
Um forte abraço e bons estudos!