1
resposta

[Projeto] Desafio hora de pratica:

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. Adicionado ao projeto. Link Git Hub. 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.

var minhaLista = [1,2,3];
var listaDois = [4,5,6];
var novaLista = minhaLista.concat(listaDois);
console.log(novaLista);
/* retorno: 
[ 1, 2, 3, 4, 5, 6 ]

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

novaLista.pop();
console.log(novaLista);
/* retorno: 
[ 1, 2, 3, 4, 5, 6 ]
[ 1, 2, 3, 4, 5 ]

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.

embaralhar(novaLista);
console.log(novaLista);
function embaralhar (arr){
      let i = arr.length;
    while (--i > 0){
          let randI = Math.floor(Math.random() * (i + 1));
          [arr[randI], arr[i]] = [arr[i], arr[randI]];
    }
    console.log('Embaralhou');
}
/* retorno: 
[ 1, 2, 3, 4, 5, 6 ]
[ 1, 2, 3, 4, 5 ]
Embaralhou
[ 4, 2, 5, 1, 3 ]

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.

var duplicados = [1,3,4];
var novaLista = novaLista.concat(duplicados);
console.log(novaLista);
novaLista = removerDuplicadas(novaLista);
console.log(novaLista);

function removerDuplicadas(arr){
    // Usando Set para obter elementos únicos
    var conjuntoUnico = new Set(arr);
    // Convertendo o Set de volta para um array
    var novoArray = Array.from(conjuntoUnico);
    console.log('Duplicidade removida');
    return novoArray;
}

/* retorno: 
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5]
Embaralhou
[3, 5, 2, 4, 1]
[3, 5, 2, 4,  1, 1, 3, 4]
Duplicidade removida
[3, 5, 2, 4, 1]*/

Código completo:

var minhaLista = [1,2,3];
var listaDois = [4,5,6];
var novaLista = minhaLista.concat(listaDois);
console.log(novaLista);
novaLista.pop();
console.log(novaLista);
embaralhar(novaLista);
console.log(novaLista);
var duplicados = [1,3,4];
var novaLista = novaLista.concat(duplicados);
console.log(novaLista);
novaLista = removerDuplicadas(novaLista);
console.log(novaLista);

function removerDuplicadas(arr){
    // Usando Set para obter elementos únicos
    var conjuntoUnico = new Set(arr);
    // Convertendo o Set de volta para um array
    var novoArray = Array.from(conjuntoUnico);
    console.log('Duplicidade removida');
    return novoArray;
}

function embaralhar (arr){
      let i = arr.length;
    while (--i > 0){
          let randI = Math.floor(Math.random() * (i + 1));
          [arr[randI], arr[i]] = [arr[i], arr[randI]];
    }
    console.log('Embaralhou');
}
1 resposta

Oi, Wilson! Tudo bem?

Fico feliz em ver que você está progredindo e aprendendo com os desafios!

Analisando seus códigos, posso dizer que você fez um excelente trabalho. Todos os códigos estão corretos e seguem as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!