A minha solução foi a seguinte: eu acabei utilizando duas arrays, embaralhando elas e colocando uma ao lado da outra no "sorteado" Está adequado a solução? seria pouco viável por utilizar duas arrays? eu entendo que o foco não é tornar o código enxuto agora e sim conseguir desenvolver uma lógica, mas eu aceito feedbacks e agradeço desde já ! (eu também encontrei essa forma de embaralhar a array na net, a minha unica cola foi um pouquim de gpt (para saber os métodos de manipulações de array))"
let peoplelist = [];
let peopleListSort = [];
function adicionar() {
addPeople = document.getElementById("nome-amigo").value;
peoplelist.push(addPeople);
peopleListSort = [...peoplelist];
updateFriendsList();
}
function updateFriendsList() {
let lista = document.getElementById("lista-amigos");
lista.innerHTML = "";
peoplelist.forEach((addPeople) => {
lista.innerHTML += `<p id="lista-amigos">${addPeople}</p>`;
});
}
function sortear() {
embaralharArray(peoplelist);
embaralharArray(peopleListSort);
let sorteio = document.getElementById("lista-sorteio");
sorteio.innerHTML = "";
peoplelist.forEach((addPeople, i) => {
sorteio.innerHTML += `<p id="lista-sorteio">${addPeople} -> ${peopleListSort[i]}</p>`;
});
console.log(peoplelist, peopleListSort);
}
function embaralharArray(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]];
}
}