1
resposta

Alguém sabe me dizer por que não esta funcionando?

<meta charset="UTF-8">

<h2>Nome dos familiares</h2>

<script>

    var nomes = [];

    var quantidade = parseInt(prompt("Digite a quantidade de familiares"));

    var contador = 1;

    while( contador <= quantidade){
        var nome = prompt("Digite o nome do familiar " + contador);

        var existe = false;

        for(var posicao = 0; posicao < nomes.length; posicao++) {

            if( nomes[posicao] == nome){
                existe = true;
                break;
            }

            if(existe = false){
                nomes.push(nome);
                contador++;
            }

        }
    }

</script>
1 resposta

Oi Minoru

O if do 'push' precisa estar fora do for e na verificação lógica do if precisa ser 2 iguais, aqui está o código:

<meta charset="UTF-8" />

<h2>Nome dos familiares</h2>

<script>
  var nomes = [];

  var quantidade = parseInt(prompt('Digite a quantidade de familiares'));

  var contador = 1;

  while (contador <= quantidade) {
    var nome = prompt('Digite o nome do familiar ' + contador);

    var existe = false;

    for (var posicao = 0; posicao < nomes.length; posicao++) {
      if (nomes[posicao] == nome) {
        existe = true;
        break;
      }
    }
    if (existe == false) {
      nomes.push(nome);
      contador++;
    }
  }

  document.write(nomes);
</script>