Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Array de números aleatórios

estou tentando criar um array de números aleatórios que não se repitam, para os números dentro do array não se repetirem usei essa função

for(var i = 0; i < segredos.length; i++)
    {
        var a = 0;
        if(segredos[a] == segredos[i])
        {
            rm() = segredos[i]
        }
        a++;
    }

mas a mesma apresenta erro e não estou conseguindo termina-la

código completo

<meta charset="UTF-8">

<input placeholder="Digite seu número"/>

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

<script>
    function rn()
    {
        var segredo = Math.round(Math.random() * 10);
        return segredo;
    }

    var segredos = []

    for(var i = 0; i < segredos.length; i++)
    {
        var a = 0;
        if(segredos[a] == segredos[i])
        {
            rm() = segredos[i]
        }
        a++;
    }

    var input = document.querySelector("input");
    input.focus();
    console.log(segredos);


    function verifica()
    {
        var achouNúmero = false;
        for(var posição = 0; posição < segredos.length; posição++)
        {
            if(input.value==segredos[posição])
            {
                alert("Você acertou!");
                achouNúmero = true;
                break;
            }
        }
        if(achouNúmero == false)
        {
            alert("Você errou!");
        }

        input.value = "";
        input.focus();
    }

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

</script>
2 respostas

Aparentemente há dois erros na sua função. Nesse trecho de código:

rm() = segredos[i]

O correto seria:

segredos[i] = rn();
solução!

já resolvi com os videos.

for(var j = 1; j <= numeroSegredos; j++)
    {
        var numeroAleatorio =  sorteia();

        if(numeroAleatorio != 0)
        {
            var achou = false;
            for(var i = 0; i<segredos.length; i ++)
            {
                if(segredos[i] == numeroAleatorio)
                {
                    achou = true;
                    j--;
                    break;
                }
            }

            if(achou == false)
            {
                segredos.push(numeroAleatorio);
            }
        }
        else
        {
            j--;
        }
    }