Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Tentativa de resolver o desafio do professor

Na aula o professor havia dito que poderíamos chegar ao mesmo resultado ( de pegar o array ["Ana", "Clara", "Maria", "Maria", "João", "João", "João"]; e transformar em outro array sem repetir nomes). Eu estava tentando sozinho mas encontrei dificuldades. Entretanto, lembrei da nova ferramenta o chatGPT, e como queria conhecer essa ferramenta, coloquei essa questão no prompt deles e me geraram este código que funciona perfeitamente, porém não consegui compreender a linha do if. Alguém poderia me explicar essa lógica?

var names = ["Ana", "Clara", "Maria", "Maria", "João", "João", "João"];
var uniqueNames = [];

    for (var i = 0; i < names.length; i++) {
        if (uniqueNames.indexOf(names[i]) === -1) {
            uniqueNames.push(names[i]);
        }
    }
    console.log(uniqueNames);
2 respostas
solução!

Boa noite Felipe

A intelingencia artificial utilizou o método indexOf(), o método retorna a posição da primeira ocorrência quando encontra no array, e retorna -1 quando não encontra correspondência.

o if server para procurar correspondência dentro do Array "uniqueNames", e utiliza o "=== -1", para verificar encontrou nome(valores) correspondente dentro do array "uniqueNames". Se o resultador do "uniqueNames.indexOf(names[i]) === -1)", for -1 é adicionado o nome ao array através do uniqueNames.push(names[i]);

Caso tenha resolvido a sua duvida, por favor marque a dúvida como resolvido.

Obrigado, consegui compreender agora.