for(let i = 0; i < amigos.length; i++){
if(i == amigos.length - 1){
sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' >>>>' + amigos[i - amigos.length + 1] + '<br>'
Não conseguia achar o erro fiz essa gambiarra , funcionou mas me pareceu redundante .
abaixo meu código completo
let amigos = [];
function adicionar(){
let amigo = document.getElementById('nome-amigo');
if (amigo.value == '') {
alert('informe um nome valido!');
return;
}
//Na linha de baixo eestamos usando a tag .includes que basicamente ve se o valor já esta incluido na lista ou array
//Colocamos o amigos.value para mostrar em que parametro queremos essa comparação .value no caso pq é um texto
if (amigos.includes(amigo.value)) {
alert('Nome já adicionado!');
amigo.value = ('');
return;
}
let lista = document.getElementById('lista-amigos');
amigos.push(amigo.value);
if(lista.textContent == ''){
lista.textContent = amigo.value;
}else {
lista.textContent = lista.textContent + ', ' + amigo.value;
}
amigo.value = '';
}
function sortear (){
if ( amigos.length < 4 ) {
alert('Adicione no minimo 4 participantes');
return;
}
embaralha(amigos);
let sorteio = document.getElementById('lista-sorteio');
for(let i = 0; i < amigos.length; i++){
if(i == amigos.length - 1){
sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' >>>>' + amigos[i - amigos.length + 1] + '<br>'
}else{
sorteio.innerHTML = sorteio.innerHTML + amigos[i] + ' >>>>' + amigos[i+1] + '<br>'
}
}
}
function embaralha(lista) {
for (let indice = lista.length; indice; indice--) {
const indiceAleatorio = Math.floor(Math.random() * indice);
// atribuição via destructuring
[lista[indice - 1], lista[indiceAleatorio]] =
[lista[indiceAleatorio], lista[indice - 1]];
}
}
function reiniciar(){
amigos=[];
document.getElementById('lista-amigos').innerHTML='';
document.getElementById('lista-sorteio').innerHTML='';
}