A maior parte do código eu fiz sozinho, tirando a parte da function embaralha e o for.
let listaAmigos = document.getElementById('lista-amigos');
let listaSorteados = document.getElementById('lista-sorteio');
function adicionar() {
let amigos = document.getElementById('nome-amigo').value;
if (amigos == [''] ) {
alert('Escreva um nome para adicionar à lista');
return;
} else if (listaAmigos.textContent.includes(amigos)) {
alert('Nome ja adicionado à lista');
} else if (listaAmigos.textContent.length < 1){
listaAmigos.textContent = listaAmigos.textContent + amigos;
} else {
listaAmigos.textContent = listaAmigos.textContent +', '+ amigos;
}
document.getElementById('nome-amigo').value = [''];
}
function sortear() {
if ( listaAmigos.textContent == [''] ) {
alert('Não foi adicinado nenhum nome para o sorteio');
return;
}
listaSorteados.innerHTML = [''];
let amigosListados = listaAmigos.textContent;
let sorteados = amigosListados.split(',');
if ( sorteados.length <= 3 ) {
alert('Adicione mais nomes para o sorteio');
return;
}
embaralha(sorteados);
for (let i = 0; i < sorteados.length; i++) {
if (i == sorteados.length - 1) {
listaSorteados.innerHTML = listaSorteados.innerHTML + sorteados[i] + ' --> ' + sorteados[0] + '<br>';
} else {
listaSorteados.innerHTML = listaSorteados.innerHTML + sorteados[i] + ' --> ' + sorteados[i + 1] + '<br>';
}
}
}
function embaralha(lista) {
let indice = lista.length
while(indice) {
const indiceAleatorio = Math.floor(Math.random() * indice--);
[lista[indice], lista[indiceAleatorio]] =
[lista[indiceAleatorio], lista[indice]];
}
}
function reiniciar() {
listaAmigos.innerHTML = [''];
listaSorteados.innerHTML = [''];
document.getElementById('nome-amigo').value = [''];
}