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

[Dúvida] .includes

function adicionar(){
    var nomeAmigo = document.getElementById('nome-amigo');
    var amigosAdicionados = document.getElementById('lista-amigos');
    
    if (arrayAmigos.includes(nomeAmigo.value)) {
        alert('Nome já adicionado!');
        return;
    }

    if(nomeAmigo.value == ''){
        alert('Informe o nome do amigo!')
        return
    }

    if(amigosAdicionados.textContent == ''){
        amigosAdicionados.textContent = nomeAmigo.value;
    }else{
        amigosAdicionados.textContent = amigosAdicionados.textContent + ',' + nomeAmigo.value;
    }
            
            
    arrayAmigos.push(nomeAmigo)
    nomeAmigo.value = '';
}

Nesse meu códgo, quando coloco nome repetidos ele ainda os adiciona. O que estpu fazendo errado?

1 resposta
solução!

Olá, Pedro! Como vai?

Podemos observar que estamos tentando adicionar o elemento nomeAmigo diretamente ao arrayAmigos ao invés do valor do nomeAmigo, que é nomeAmigo.value, pois na última linha da função estamos adicionando nomeAmigo ao arrayAmigos com a linha arrayAmigos.push(nomeAmigo), porém, nomeAmigo é um elemento HTML, não o valor do campo de entrada.

Dessa forma, para adicionarmos o valor do campo de entrada, ou seja, nomeAmigo.value, nossa linha de código deve ficar: arrayAmigos.push(nomeAmigo.value).

Podemos então deixar o nosso código da seguinte maneira:

function adicionar(){
    var nomeAmigo = document.getElementById('nome-amigo');
    var amigosAdicionados = document.getElementById('lista-amigos');
    
    if (arrayAmigos.includes(nomeAmigo.value)) {
        alert('Nome já adicionado!');
        return;
    }

    if(nomeAmigo.value == ''){
        alert('Informe o nome do amigo!')
        return
    }

    if(amigosAdicionados.textContent == ''){
        amigosAdicionados.textContent = nomeAmigo.value;
    }else{
        amigosAdicionados.textContent = amigosAdicionados.textContent + ',' + nomeAmigo.value;
    }
            
    arrayAmigos.push(nomeAmigo.value)
    nomeAmigo.value = '';
}

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓