Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] o meu não esta sorteando. :/

Bom dia ! o meu não está sorteando.

let amigos =[];

function adicionar (){
   let amigo = document.getElementById('nome-amigo');
   let lista = document.getElementById('lista-amigos');
   amigos.push = (amigos.value);
   if  (lista.textContent == '' ){
       lista.textContent = amigo.value; 
  } else{
   lista.textContent = lista.textContent + ', ' + amigo.value ;
  }
  amigo.value = '';
}

function sortear (){
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[0] + '<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]];
   }
}
1 resposta
solução!

Oii Ellyda, tudo bem?

Há um pequeno erro na sua função adicionar(). Você tá tentando adicionar um novo amigo ao array amigos com amigos.push = (amigos.value);, mas o correto seria amigos.push(amigo.value);.

No seu código atual, você está tentando reatribuir o método .push do array amigos para amigos.value, o que não é o que você quer. O método .push() é usado para adicionar um novo item ao final de um array.

Ajuste para:

function adicionar(){
    let amigo = document.getElementById('nome-amigo');
    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 = '';
}

Espero que te ajude.

Um abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software