1
resposta

Duvida na minha lista de Jogos

Montei esse codigo para treinar, gostaria que eu pudesse ir adicionando jogos a lista de jogos zerados e quando eu digitasse 'acabou', encerrasse e mostrasse a lista completa. Tenho quase certeza que errei nos If's ou por ai, quem puder me ajudar agradeço muito.

<meta charset="UTF-8">

<script>

var quantidade = true;
var jogos = [];


    while(quantidade == true){

        var achou = false;

        var addJogo = prompt('Escreva um jogo que zerou');

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

            if(addJogo == jogos[posicao]){

                achou = true;
                break;

            }

        }
            if(achou == false){
                jogos.push(addJogo);
            }

            else{
                if(addJogo == 'acabou'){

                    quantidade = false;
                }
            }

    }

            document.write(jogos);



</script>
1 resposta

Oi Thor, como você está?

É um pequeno detalhe nas suas condições. Não é necessário o uso o else, pois, caso o else permaneça, iremos testar se o que foi digitado é igual a palavra "acabou" apenas quando a variável "achou" for verdadeira, ou seja, quando há uma repetição de elementos na lista. Porém, o que queremos é que sempre que uma palavra for digitada, verificar se a mesma é a palavra "acabou". É uma mudança sutil, precisamos apenas retirar o else. Veja como fica em código:

<meta charset="UTF-8" />

<script>
  var quantidade = true;
  var jogos = [];

  while (quantidade == true) {
    var achou = false;

    var addJogo = prompt("Escreva um jogo que zerou");

    for (var posicao = 0; posicao < jogos.length; posicao++) {
      if (addJogo == jogos[posicao]) {
        achou = true;
        break;
      }
    }
    if (addJogo == "acabou") {
      quantidade = false;
      break; // interrompe o laço de repetição
    }
    if (achou == false) {
      jogos.push(addJogo);
    }

  }

  document.write(jogos);
</script>

Qualquer dúvida estou por aqui, tá bom?

Abraços!