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

Return segredos

boa tarde a todos, uma duvida que eu tenho é sobre o (return segredos) pelo o que eu entendi se eu digito uma função inteira o (return) me da apenas um resultado é isso? por exemplo, quando eu executar a função (sorteiaNumeros) esse (return segredos) vai me da apenas o valor que ali está?

<meta charset="UTF-8">

<input/>
<button>Digite o segredo </button>

<script>

    function sorteia(){
        return Math.round(Math.random()* 10)
    }


    function sorteiaNumeros(quantidade){

        var segredos = []

        var numero = 1;

        while(numero <= quantidade){
            segredos.push(sorteia())
            numero++
        }

        return segredos ;
    }

    var segredos = sorteiaNumeros(3)

    console.log(segredos)




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


    function verifica(){

        var achou = false

        for(var posicao = 0 ; posicao < segredos.length; posicao++){
            if(input.value == segredos[posicao]){
                alert("Acertou")
                achou = true
                break
            }
        }

        if(achou== false){
            alert("você errou")
        }

        input.value= ""
        input.focus()

    }

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

</script>

1 resposta
solução!

Bom dia Jonatas, tudo bem? Espero que sim!

O return serve para a função retornar um valor ao final da execução.

Então, assim que você chamar uma função atribuindo ela a uma variável, o valor final que estará no return será atribuído à variável.

Exemplo:

function valor10(){
        return 10
    }

a = valor10()

Como a função retorna 10, ao atribuí-la a uma variável, a terá o valor 10 a partir de então.

No caso do seu exemplo, a função sorteiaNumeros quando for chamada, executará o código dentro dela, retornando o array segredos que foi criado dentro dela, com os valores que foram inseridos dentro da função através do push.

Ela foi chamada da seguinte forma:

var segredos = sorteiaNumeros(3)

Portanto dentro dessa variável segredos que foi iniciada agora, a função sorteiaNumeros irá rodar e devolver o array segredos.

A confusão é gerada por essa variável segredos ter o mesmo nome do array dentro da função, mas a variável pode ter o nome a sua escolha.

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!