3
respostas

Meu código não funciona: Projeto Amigo Secreto

Alguém pode me dar uma Luz???? Já tentei de tudo dentro do que sei, mas mesmo assim não funciona, reduziu os erros no console mas funcionar que é bom nada. Alguma dica? Segue o código:

Amigo Secreto

    <script>
        let nomes = [];
    
        document.addEventListener("DOMContentLoaded", function () {
            document.getElementById('btnAdicionar').addEventListener('click', adicionarNome);
            document.getElementById('btnSortear').addEventListener('click', sortearAmigos);
        });
    
        function adicionarNome() {
            const nomeInput = document.getElementById('nome');
            const nome = nomeInput.value.trim();
            
            if (nome === '') {
                alert('Por favor, digite um nome válido.');
                return;
            }
            
            nomes.push(nome);
            nomeInput.value = '';    
            atualizarLista();
        }
    
        function atualizarLista() {
            const lista = document.getElementById('listaNomes');
            lista.innerHTML = '';
    
            nomes.forEach(nome => {
                const li = document.createElement('li');
                li.textContent = nome;
                lista.appendChild(li);
            });
        }
    
        function sortearAmigos() {
            if (nomes.length < 2) {
                alert('Adicione ao menos dois nomes antes de sortear!');
                return;
            }
    
            const 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]];
              }
            };
    
            const sorteados = [...nomes];
            embaralhar(sorteados);
    
            let resultadoHTML = '<h2>Resultado do Sorteio:</h2><ul>';
            for (let i = 0; i < nomes.length; i++) {
                const amigo = sorteados[i];
                resultadoHTML += `<li>${nomes[i]} -> ${amigo}</li>`;
            }
            resultadoHTML += '</ul>';
    
            document.getElementById('resultado').innerHTML = resultadoHTML;
        }
    </script>
    

    Agradeço de coração!!!

    3 respostas

    Um dos pontos de melhora do seu código seria aqui no terço final , mudar as letras i por número 1

    Gratidão Jailton pela dica.

    Desculpe me equivoquei na resposta .

    na verdade abaixo de let nomes

    comente as proxímas tres linhas de codigo e veja a magica acontecer.