Segue Abaixo minha lógica: Aceito outras soluções para estudar.
let amigos = [];
function adicionar() {
let nome = document.getElementById("nome-amigo").value;
let listaAmigos = document.getElementById("lista-amigos");
amigos.push(nome);
if (listaAmigos.textContent == "") {
listaAmigos.textContent = nome
} else {
listaAmigos.textContent = listaAmigos.textContent + ", " + nome
}
nome = document.getElementById("nome-amigo").value = "";
}
function sortear() {
embaralha(amigos);
let sorteio = document.getElementById("lista-sorteio");
for(let i = 0; i < amigos.length; i++) {
sorteio.innerHTML += `<li>${amigos[i]} --> ${amigos[(i + 1) % amigos.length]}</li>`;
}
}
function embaralha(lista) {
for (let i = lista.lenght; i; i--) {
const indexAleatorio = Math.floor(Math.random() * i);
[lista[i - 1], lista[indexAleatorio]] =
[lista[indexAleatorio], lista[i - 1]];
}
}