1
resposta

Realizar o sorteio do amigo secreto.

let amigos = []

function sortear() {
    embaralhar(amigo)  
    
    let sorteio = document.getElementById('lista-amigo)'
    
        for( let i = 0; i < amigos.lenght; i ++) {
            sorteio.innerHTML = sorteio.innerHTML + amigos[ i ]  +   ' --> ' + amigos[ 0 ] +  '<br>'
        } else {
            sorteio.innerHTML =
        sorteio.innerHTML + amigos[i] + " --> " + amigos[ i + 1] + "<br>";
        }
    }
}
1 resposta

Oi, Diego! Tudo bem?

Parabéns pela realização da atividade! Deixo como sugestão uma alteração na sintaxe do nosso getElementById, pois a string está com uma aspa simples faltando no final, devemos, então, deixar o nosso código da seguinte forma: document.getElementById('lista-amigo').

Devemos também nos atentar à palavra length que está escrita como lenght, porém o correto seria length.

Por fim sugiro um ajuste na lógica dentro do loop para que cada amigo seja emparelhado com outro:

let amigos = ['Ana', 'Bruno', 'Carlos', 'Diana', 'Eduardo'];

function embaralhar(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]];
    }
}

function sortear() {
    embaralhar(amigos);

    let sorteio = document.getElementById('lista-amigo');
    sorteio.innerHTML = ""; // Limpar a lista antes de adicionar

    for (let i = 0; i < amigos.length; i++) {
        if (i === amigos.length - 1) {
            sorteio.innerHTML += amigos[i] + " --> " + amigos[0] + "<br>";
        } else {
            sorteio.innerHTML += amigos[i] + " --> " + amigos[i + 1] + "<br>";
        }
    }
}

Aqui adicionamos uma função para embaralhar a lista de amigos e garantir que a ordem seja aleatória, além de antes de começar a adicionar os resultados, limpar o conteúdo do innerHTML para evitar duplicações em execuções consecutivas.

Espero ter ajudado!

Um forte abraço e bons estudos!