Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Desafío Amigo Secreto - Validen Código

Hola quisiera que validen mi código javascript, estoy abierto a cualquier critica constructiva.

// Lista de amigos
let listaAmigos = [];

/**
 * Asigna texto a un elemento del DOM.
 * @param {string} elemento - Selector del elemento.
 * @param {string} texto - Texto a asignar.
 */
function asignarTextoElemento(elemento, texto) {
    const elementoHTML = document.querySelector(elemento);
    if (elementoHTML) {
        elementoHTML.innerHTML = texto;
    }
}

/**
 * Agrega un amigo a la lista.
 */
function agregarAmigo() {
    const nombre = document.getElementById('amigo').value.trim();

    if (!nombre) {
        alert('Por favor, ingrese un nombre válido');
        return;
    }

    listaAmigos.push(nombre);
    actualizarLista();
    limpiarCaja();
}

/**
 * Limpia el campo de entrada.
 */
function limpiarCaja() {
    document.querySelector('#amigo').value = '';
}

/**
 * Actualiza la lista de amigos en el DOM.
 */
function actualizarLista() {
    const ul = document.querySelector('#listaAmigos');
    ul.innerHTML = '';

    listaAmigos.forEach(amigo => {
        const li = document.createElement('li');
        li.textContent = amigo;
        ul.appendChild(li);
    });
}

/**
 * Realiza el sorteo de un amigo secreto y muestra el resultado.
 */
function sortearAmigo() {
    if (listaAmigos.length === 0) {
        alert("Agrega amigos antes de sortear.");
        return;
    }

    const indiceAleatorio = Math.floor(Math.random() * listaAmigos.length);
    const amigoGanador = listaAmigos[indiceAleatorio];

    mostrarResultado(amigoGanador);
    limpiarLista();
}

/**
 * Muestra el resultado del sorteo en el DOM.
 * @param {string} amigoGanador - Nombre del amigo sorteado.
 */
function mostrarResultado(amigoGanador) {
    const ulResultado = document.querySelector('#resultado');
    ulResultado.innerHTML = '';

    const li = document.createElement('li');
    li.textContent = ` El amigo secreto sorteado es: ${amigoGanador}`;
    ulResultado.appendChild(li);
}

/**
 * Limpia la lista de amigos en el DOM y en la memoria.
 */
function limpiarLista() {
    listaAmigos = [];
    actualizarLista();
}

Capturas de pantalla


Aquí puedes ver imágenes o capturas de pantalla del proyecto en acción.

  • Captura 1 - Agregar nombres

Captura 1 - Agregar nombres

  • Captura 2 - Valida nombres vacío o nulo

Captura 2 - Valida nombres vacío o nulo

  • Captura 3 - Sorteo realizado

Captura 3 - Sorteo realizado

  • Captura 4 - Valida Sorteo

Captura 4 - Valida Sorteo