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.
Não consegui fazer a função de exclusão funcionar, mesmo utilizando a solução dada pelo instrutor.
let listaAmigos = [];
function adicionar() {
let nome = document.getElementById('nome-amigo');
let listaNomes = document.getElementById('lista-amigos');
listaAmigos.push(nome.value);
if (listaNomes.textContent === '' || listaNomes.textContent === null) {
listaNomes.textContent = nome.value;
} else {
listaNomes.textContent = listaNomes.textContent + ', ' + nome.value;
}
nome.value = '';
atualizarSorteio()
atualizarLista();
}
function sortear() {
embaralhar(listaAmigos);
let sorteio = document.getElementById('lista-sorteio');
for (let index = 0; index < listaAmigos.length; index++) {
if (index == listaAmigos.length -1) {
sorteio.innerHTML = sorteio.innerHTML + listaAmigos[index] + ' --> ' + listaAmigos[0] + '<br/>';
} else {
sorteio.innerHTML = sorteio.innerHTML + listaAmigos[index] + ' --> ' + listaAmigos[index+1] + '<br/>';
}
}
}
function embaralhar(lista) {
for (let indice = lista.length; indice; indice--) {
const indiceAleatorio = Math.floor(Math.random() * indice);
[lista[indice - 1], lista[indiceAleatorio]] = [lista[indiceAleatorio], lista[indice - 1]];
}
}
function reiniciar() {
let botaoreiniciar = document.querySelector('a');
botaoreiniciar.innerHTML
listaAmigos = [];
document.getElementById('lista-amigos').innerHTML = '';
document.getElementById('lista-sorteio').innerHTML = '';
}
function excluirAmigo() {
listaAmigos.splice(index, 1);
atualizarSorteio();
atualizarLista();
}
function atualizarSorteio() {
let sorteio = document.getElementById('lista-sorteio');
sorteio.innerHTML;
}
function atualizarLista() {
let listaNomes = document.getElementById('lista-amigos');
listaNomes.innerHTML;
for (let i = 0; i < amigos.length; i++) {
let paragrafo = document.createElement('p');
paragrafo.textContent = amigos[i];
paragrafo.addEventListener('click', function() {
excluirAmigo(i);
});
lista.appendChild(paragrafo);
}
}
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.
3 - Remova o último elemento de novaLista. Imprima novaLista após a remoção.
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.
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.
Etapas 2 a 5 abaixo:
let lista1 = [];
lista1.push(1,2,2,3);
let lista2 = [];
lista2.push(4,5,6,6);
let lista3 = lista1.concat(lista2);
lista3.pop()
console.log(lista3)
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;
}
lista3 = embaralharArray(lista3);
console.log(lista3)
function removerDuplicatas(array) {
return [...new Set(array)];
}
let lista4NoDuplicatas = removerDuplicatas(lista3)
console.log(lista4NoDuplicatas)