1
resposta

Aula Manipulando Array

<meta charset="utf-8">

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


    <script>
        function sorteia(){

            return Math.round(Math.random() * 10);
        }

        function sorteiaNumeros(quantidade){

            var segredos = [];

            var numero = 1;

            while(numero <= quantidade) {
                var numeroAleatorio = sorteia();

                if(numeroAleatorio !== 0){

                        var achou = false;

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

                            if (segredos[posicao] == (numeroAleatorio)) {

                                achou = true;
                                break;
                            }
                         }    

                            if (achou == false) {

                                segredos.push(numeroAleatorio);
                                numero++;
                        }


                  }                



             }

                        return segredos;

        }

Olá pessoal!! Espero que estejam bem!!

Estava eu revisando as aulas do curso de Lógica I ; e na última aula (Manipulando Array) o professor Flávio criou uma variável chamada - var numeroAleatorio. E ele, também, informou que essa variável iria receber a função sorteia (var numeroAleatorio = sorteia(); . Ou seja, trocou 6 por 1/2 dúzia segundo palavras do próprio professor. Até ai, tudo bem! Nos locais onde ele deveria informar a função sorteia, ele informou numeroAleatorio - tudo conforme o código acima!

Eu resolvi substituir e colocar function sorteia, porém ocorrem alguns erros e o programa não funciona como deveria!!!

Pergunto. Porque ocorreu esse erro se, basicamente, não fizemos nenhuma alteração; apenas trocamos 6 por 1/2?.

Fico no aguardo.

Att; Fabio Dias - Let's Code!!

1 resposta

Não manjo muito de JS, mas acho que quando vc recebe uma function em uma variável vc inicia essa function e ele gera um valor aleatorio * 10 conforme dito. Agora se vc chama essa function diretamente vc em momento nenhum iniciou ele então ele n tem valor nenhum. Pelo que eu lembro, para uma função inciar, ele tem que ser chamada por alguma action.