0
respostas

Como mostrar a posição em que o número estava dentro da lista

Queria mostrar para quem acertou quais eram os números da minha lista e a qual era a posição do número que ele acertou.

Para isso eu fiz o alert da seguinte forma: alert ("Você ACERTOU!! A lista dos meus segredos eram: " + segredos + " Posição: " + (parseInt(posicao)+1) + " Número: "+ segredos[posicao]);

Eu tinha que somar a 'posicao' mais 1, pq o sistema lê a posição diferente de como o usuário lê. O sistema lê: posição 0, posição 1, posição 2, posição 3 E o usuário lê: posição 1, posição 2, posição 3, posição 4

Se eu usasse a primeira posição da variável 'posicao' o resultado seria 0, mas preciso mostrar para o usuário 1.

Para isso eu tive que usar o 'parseInt' na variável 'posicao' para conseguir somar a o valor da variável 'posicao' com o 1, pois se eu tentasse somar 'posicao + 1' sem o 'parseInt( )', a impressão dava um texto e não somava como eu queria.

Por exemplo, se eu colocasse no input o número "2", eu acertava, mas sai na impressão da posição "31", pq o "2" estava na posição 3 + 1 imprimia "31".

Para resolver eu coloquei dentro do alert ... + (parseInt(posicao)+1) + ...

Queria saber se o que vem da variável por padrão é texto. Obrigado!

<meta charset="UTF-8">

<input/>

<button>Compare com o meu Segredo</button>

<script>

    var segredos = [5,7,10,2];
    var ultimaPosicao = segredos.length - 1;

    var input = document.querySelector("input");
    input.focus();

    function verifica () {
        for (var posicao = 0 ; posicao < segredos.length ; posicao++){
            if (input.value == segredos[posicao]){
                alert ("Você ACERTOU!! A lista dos meus segredos eram: " + segredos + " Posição: " + posicao+1 + " Número: "+ segredos[posicao]);
                break;
            }
            if (posicao == ultimaPosicao && input.value != segredos[posicao]){
                alert ("Você NÃO ACERTOU nenhum dos números de dentro da minha lista. Os números da minha lista eram: " + segredos);
            } 
        }
        input.value = "";
        input.focus();
    }

    var button = document.querySelector("button");
    button.onclick = verifica; 

</script>