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

Não consigo sair do loop.

<meta charset="utf-8">

<script>

function pulo() { 

    document.write("<br><br>");
}    

function mostrar(frases) {
    document.write(frases);
    pulo();

}




       var lista=[];


       var quantidade=parseInt(prompt("Digite o numero de itens de sua lista. "));

       var contador=1

       while(contador<=quantidade){ 

           var itens=prompt("Digite os itens de sua lista " + contador);

              var existe=false

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

                    if (lista[posicao]==itens) {

                    existe=true
                     break;
               }

             if (existe==false) { lista.push(itens); 
             contador++;

             }



          }

       }

        console.log(lista);

        mostrar("Sua lista é " + lista);










</script>
1 resposta
solução!

Oi Vailter, você precisa colocar a parte do código

            if (existe == false) { 
                lista.push(itens); 
                contador++;
                }

fora do for, pois o for só é percorrido depois da primeira inserção na lista. Pois do jeito que tava o contador não era incrementado nenhuma vez o que acabava resultando o loop.


       while(contador <= quantidade){ 
            var itens = prompt("Digite os itens de sua lista " + contador);

            var existe = false;
            for(var posicao = 0; posicao < lista.length; posicao++ ){ 

                if (lista[posicao] == itens) {
                    existe=true
                    break;
                }
          }
            if (existe == false) { 
                lista.push(itens); 
                contador++;
                }
       }