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

Desafio: hora da prática.

1.Criar uma funcionalidade no Projeto Amigo Secreto que permita ao usuário clicar em um amigo na lista e removê-lo. Atualizar a visualização da lista após a remoção.

// Variável para armazenar a lista de amigos
let amigos = [];

// Função para adicionar um amigo à lista
function adicionar() {
    let amigo = document.getElementById('nome-amigo');
    let lista = document.getElementById('lista-amigos');

    if (amigo.value.trim() !== '') {
        amigos.push(amigo.value);
        renderizarLista();
    }

    amigo.value = '';
}

// Função para remover um amigo da lista
function remover(index) {
    amigos.splice(index, 1);
    renderizarLista();
}

// Função para renderizar a lista de amigos no HTML
function renderizarLista() {
    let lista = document.getElementById('lista-amigos');
    lista.innerHTML = '';

    amigos.forEach((amigo, index) => {
        let amigoElement = document.createElement('span');
        amigoElement.classList.add('amigo-clicavel');
        amigoElement.textContent = amigo;
        amigoElement.onclick = () => remover(index);
        lista.appendChild(amigoElement);
    });
}

// Chamada para renderizar a lista inicialmente (Testando funcionalidade)
renderizarLista();

2.Adicione os números 1,2,3 em uma variável chamada minhaLista e armazene os números 4, 5 e 6 separadamente em outra variável. Use o método concat() para combinar as sequências de valores em uma nova lista chamadanovaLista. Imprima novaLista no console.

// Adicione os números 1, 2, 3 em uma variável chamada minhaLista
let minhaLista = [1, 2, 3];

// Armazene os números 4, 5 e 6 separadamente em outra variável
let outraLista = [4, 5, 6];

// Use o método concat() para combinar as sequências de valores em uma nova lista chamada novaLista
let novaLista = minhaLista.concat(outraLista);

// Imprima novaLista no console
console.log(novaLista);

3.Remova o último elemento de novaLista. Imprima novaLista após a remoção.

// Remova o último elemento de novaLista
novaLista.pop();

// Imprima novaLista após a remoção
console.log(novaLista);

4.Utilize o algoritmo de Fisher-Yates (também conhecido como Knuth Shuffle) para embaralhar os elementos em novaLista. Pesquise e adapte o código para realizar o embaralhamento.

// Função para embaralhar os elementos de uma lista usando o algoritmo de Fisher-Yates
function embaralharArray(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]];
    }
    return array;
}

// Embaralhe os elementos em novaLista usando a função embaralharArray
novaLista = embaralharArray(novaLista);

// Imprima novaLista após o embaralhamento
console.log(novaLista);
5.Crie uma função chamada removerDuplicatas que aceita um array como parâmetro e retorna um novo array sem elementos duplicados. Teste a função com novaLista e imprima o array resultante.
// Função para remover duplicatas de um array
function removerDuplicatas(array) {
    return Array.from(new Set(array));
}

// Teste a função com novaLista
let novaListaSemDuplicatas = removerDuplicatas(novaLista);

// Imprima o array resultante
console.log(novaListaSemDuplicatas);
1 resposta
solução!

Olá, João! Tudo bem?

  1. No primeiro desafio, o código que você postou parece estar correto. A funcionalidade de remover um amigo da lista está implementada na função remover(index), que remove o amigo de índice index da lista de amigos e, em seguida, chama a função renderizarLista() para atualizar a visualização da lista.

  2. No segundo desafio, você criou duas listas, minhaLista e outraLista, e as combinou em uma nova lista chamada novaLista usando o método concat(). Depois, você imprimiu novaLista no console. Isso está correto.

  3. No terceiro desafio, você removeu o último elemento de novaLista usando o método pop(), e imprimiu novaLista após a remoção. Isso também está correto.

  4. No quarto desafio, você implementou a função embaralharArray(array), que embaralha os elementos de um array usando o algoritmo de Fisher-Yates. Depois, você usou essa função para embaralhar os elementos de novaLista e imprimiu novaLista após o embaralhamento. Isso parece estar correto.

  5. No quinto desafio, você criou a função removerDuplicatas(array), que remove elementos duplicados de um array. Você testou essa função com novaLista e imprimiu o array resultante. Isso também está correto.

Bons estudos!