Se você entender isso, fica mais fácil gerar números aleatórios em JavaScript

Поділитися
Вставка
  • Опубліковано 30 вер 2024
  • O padrão que você precisa entender para gerar números aleatórios em JavaScript.
    #javascript
    Cover icon made by Freepik from flaticon.com

КОМЕНТАРІ • 77

  • @victor.ardasse
    @victor.ardasse 2 роки тому +1

    const numeros = [1, 2, 3, 4, 5, 6];
    const numero = Math.floor(Math.random() * numeros.length);
    console.log(numeros[numero]); // resultado aleatório
    Existe essa maneira também e dá certo.

  • @maranhao661
    @maranhao661 3 роки тому +6

    Cara vc explica muitoooo bem, achei top o video, estou começando a estudar JavaScript, e vc me salvou num exercício, Parabéns!!

    • @RogerMelo
      @RogerMelo  3 роки тому +1

      Valeu Rafael 🙏🏻

  • @eullerl4768
    @eullerl4768 2 роки тому +1

    MDS é a melhor explicação que obtive disso, muito obrigado cara :p

  • @maiconpereiradesouza5533
    @maiconpereiradesouza5533 3 роки тому +1

    Para uma função que você estabelece um número mínimo e máximo é muito útil, mas para um array não ficaria mais simples assim?
    Const arrDeLetras = ["a", "b", "c"]
    Function arrAleatorios (arr){
    const indice = Math.floor(Math.random() * arr.length)
    return arr[indice]
    }
    console.log(arrAleatorio(arrDeLetras))
    Como arr.length é igual a 3, e usando random com arredondamento para baixo os números possíveis são 0, 1 e 2, que são exatamente os indices que podemos acessar do exemplo acima.
    Na próxima vez que abrir seu curso irei tentar pegar, pelo que acompanho do seu conteúdo, vejo que posso subir o nível do meu JS. E assim me sentir confiante para mudar de área!
    Vlw!

  • @gato_comunistta
    @gato_comunistta 7 місяців тому

    qual a diferença se eu fizer apenas dessa forma aqui:
    *console.log(Math.floor(Math.random() * (3 + 1) )) ??* pra mim não faz muita diferença se eu colocar ou não os zeros
    pra mim ela funcionou normalmente, mas não sei a diferença, não sei se eu não entendi a equação do vídeo ou algo assim kkkkk

  • @marlonsg18
    @marlonsg18 2 роки тому +1

    Rapaz...tu fez minha cabeça explodir pq finalmente entendi o Math, gratidão. Ótima ditádica

  • @alexcustodio5281
    @alexcustodio5281 Рік тому

    Parabéns pela explicação, vi vários vídeos e não consegui entender, só olhando o seu consegui, salvou muito!

  • @marcusVinicius-zz6gi
    @marcusVinicius-zz6gi Рік тому

    Olhei todos o vídeo do UA-cam sobre math não tava conseguindo intender. Com sua explicação entendi perfeitamente muito obrigado

  • @LucasGiraldelli
    @LucasGiraldelli 4 роки тому +4

    É absurdo o tanto de conhecimento que pego com vc, mesmo conhecendo a maioria das coisas ensinadas.

  • @vavatrewq1031
    @vavatrewq1031 3 роки тому

    Gosto da sua didática mesmo ter aprendido, quando você vai voltar com o Telegrama da turma?

  • @DanielBastianelle
    @DanielBastianelle Рік тому

    Nao costumo comentar nesses videos curtos! Mas o seu mereceu meu parabéns, obrigado!

  • @lucassouza_yt
    @lucassouza_yt 3 роки тому

    Ao invés de um número pode ser uma string?

    • @RogerMelo
      @RogerMelo  3 роки тому

      Pode, nesse caso é mais produtivo usar uma lib como o www.npmjs.com/package/uuid

  • @thiagosantana1485
    @thiagosantana1485 Рік тому

    Roger sua forma de explicar é sensacional.

  • @lucianosergiodesigner8850
    @lucianosergiodesigner8850 Рік тому

    Muito obrigado pela aula magnífica Professor!
    Então baseado no exemplo do vídeo, seu eu quiser gerar um número aleatório inclusivo entre o [ 0 e 3 ] eu também poderia fazer dessa segunda forma excluindo a adição do 1 e aumentando o valor máximo ? Funcionaria ?
    Ou ainda melhor, se eu colocasse apenas os valores max e min conforme o exemplo reduzido abaixo? Funcionaria ?
    Exemplo original: Math.floor(Math.random() * (3 - 0 +1)) + 0
    Exemplo alterado: Math.floor(Math.random() * (4 - 0)) + 0 // Excluir o 1 e aumentei o valor do máximo para 4.
    Exemplo reduzido: Math.floor(Math.random() * 4)+0 // 4 seria o max e 0 min.

    • @lucianosergiodesigner8850
      @lucianosergiodesigner8850 Рік тому

      Acho que não daria certo porque não seria inclusivo, não é verdade? Não funcionaria se a pessoa tivesse que inserir dois argumentos (min e máx). Como a pessoa saberá que terá que colocar o valor máx maior do que o valor máx desejado?
      É muito mais inteligente usar o exemplo original que você ensinou.

  • @rodrigolima2819
    @rodrigolima2819 3 роки тому +2

    esse cara é incrível!

  • @ayam-1275
    @ayam-1275 3 роки тому +1

    obrigado me ajudou muito, estava tendo um bug no código que eu fiz para gerar cores aleatórias e com o vídeo me ensinou usar o random de maneira certa.

  • @douglaslisboa692
    @douglaslisboa692 3 роки тому +1

    Muito bom obrigado, explicação sensacional

    • @RogerMelo
      @RogerMelo  3 роки тому

      Tamo junto Douglas 👊

  • @aguiasedragoes
    @aguiasedragoes 3 роки тому +1

    Olá, muito bom esse vídeo. Sua didática é muito boa. Entendi com uma facilidade que até me "espantou"!
    Só fiquei com uma dúvida: por que do "+ 0" no final da linha?
    Math.floor(Math.random() * (3 - 0 + 1)) + 0
    Obrigado!!!

    • @lucaswartha
      @lucaswartha 3 роки тому +1

      No caso esse 0 representa o valor minimo (max - min + 1) + min. Se o valor mínimo fosse outro, aí faria sentido a utilização dele, no caso como é 0 não é necessário

    • @aguiasedragoes
      @aguiasedragoes 3 роки тому

      Obrigado @@lucaswartha pela explicação. Agora entendi. 😬👍🏻

  • @mariameir
    @mariameir Рік тому

    Excelente !

  • @donisetesiqueira
    @donisetesiqueira 2 роки тому

    Excelente explicação + Excelente Didática=Excelente Vídeo. Parabéns!!!!! Assistiu ao vídeo, não precisa procurar outro"

  • @greninjafelipe
    @greninjafelipe 3 роки тому

    Roger eu tentei escrever o código exatamente igual só que com "1" e "100" e sempre que eu tento rodar com console.log o número que aparece é 1 :/
    Espero que consiga me ajudar,ficaria grato

    • @greninjafelipe
      @greninjafelipe 3 роки тому

      Nota que talvez ajude: ele fala sempre apenas o número mínimo

    • @greninjafelipe
      @greninjafelipe 3 роки тому

      E eu mudei o nome da constante e no console pra "dado"

  • @julianamininel9103
    @julianamininel9103 3 роки тому +1

    A melhor explicação que eu assisti sobre esse tema, muito obrigado por compartilhar todo esse conhecimento.

    • @RogerMelo
      @RogerMelo  3 роки тому +1

      Fico feliz que a aula ajudou, Juliana. O canal tem uma playlist de vídeos de aplicações com JavaScript puro. Vou deixar o link abaixo, caso queira treinar suas habilidades na linguagem =)
      ua-cam.com/play/PLpSJMw6H4PFMOJHMULTxKNOEw7g1cBuyP.html

    • @julianamininel9103
      @julianamininel9103 3 роки тому

      @@RogerMelo muitoo obrigado, irei ver todos!!

  • @claudenirfer918
    @claudenirfer918 3 роки тому

    Cara, muito show a sua maneira de explicar. Top de mais mesmo... Eu já tinha assistido outros vídeos antes... Pow, muito bom!

  • @M_tec
    @M_tec 4 роки тому

    Roger, muito bacana seus videos.
    Com seria um script para gerar números sequenciais (0001,0002,0003) numa textbox através de uma ação disparada(click,comando) usando o PDF Editor com com console JavaScript.

  • @lucaslsamaro
    @lucaslsamaro 3 роки тому

    Parabéns pelo conteúdo

  • @alifcorrea7329
    @alifcorrea7329 3 роки тому

    Muito bom! Estava com problemas porque minha função gerava números menores que 100. Problema resolvido!

  • @code_masters3621
    @code_masters3621 2 роки тому

    Como vc pos essa linha vertical no seu vc code...?
    Aliais ótimo trabalho...

    • @RogerMelo
      @RogerMelo  2 роки тому +1

      Ctrl + shift + P, insira "Preferences: Open Settings (JSON)" e procure por `"editor.rulers"`. Se não encontrar, adicione o seguinte:
      "editor.rulers": [80]
      Vc pode setar quantas linhas quiser dentro do array =)

    • @code_masters3621
      @code_masters3621 2 роки тому

      Como faço para comprar seu curso...?

    • @RogerMelo
      @RogerMelo  2 роки тому

      Eu fechei uma turma de 60 pessoas há um mês, então nesse momento as matrículas não estão abertas =)

  • @victor.ardasse
    @victor.ardasse 2 роки тому

    Rapaz, uma vez eu reprovei num teste técnico justamente por não saber isso daí. Hoje bateu na consciência de pesquisar como poderia resolver esse problema. Muito obrigado!

  • @Sr_Ningvem
    @Sr_Ningvem 2 роки тому

    Obg pela explicação! Tava tentando entender essa lógica e você explicou exatamente o que eu queria entender. Vlw!

  • @GabrielAlmeida12
    @GabrielAlmeida12 2 роки тому

    Maravilhosa explicação. Ser um bom professor é uma arte.

    • @RogerMelo
      @RogerMelo  2 роки тому

      Valeu Gabriel 🙏🏻

  • @IzidoroK
    @IzidoroK Рік тому

    Ótima aula!

  • @nicholas_eras
    @nicholas_eras 3 роки тому

    honestamente nada intuitivo o javascript kkkkk import random random.randint(0,10) é bem mais facil de entender

    • @RogerMelo
      @RogerMelo  3 роки тому +2

      Generalizar não é nada inteligente =)

  • @boresskalovisk1353
    @boresskalovisk1353 2 роки тому

    Cara, sua didática é incrível, não vejo a hora de fazer o seu curso completo. Javascript está sendo a minha maior dificuldade, estou sempre voltando pro início do estudo porque não consigo assimilar o conteúdo.

    • @RogerMelo
      @RogerMelo  2 роки тому

      Sequência é fundamental =)
      Fica ligado aqui: ua-cam.com/video/K2YvtapF0hg/v-deo.html

  •  3 роки тому

    Excelência!

  • @arnonrdp
    @arnonrdp 2 роки тому

    Nunca vi tamanha didática!! Onde aperta para curtir mais de uma vez? rs

    • @RogerMelo
      @RogerMelo  2 роки тому +1

      Valeu Arnon 🙏🏻

  • @johnnyenaty8583
    @johnnyenaty8583 4 роки тому

    Show. 👏👏👏👏👏

  • @trovr
    @trovr 4 роки тому

    Roger sensacionais seus videos
    tem algo no udemy?

    • @RogerMelo
      @RogerMelo  4 роки тому +1

      Oi Trova. Tenho o Curso de Javascript Roger Melo.
      Ele funciona com turmas fechadas, abertas algumas vezes por ano e é focado em quem ainda não é fluente em JS. Ou seja, quem não consegue construir aplicações com JavaScript puro sem grandes dificuldades.
      Em geral as turmas são abertas logo após a Semana do JavaScript, que é um evento que realizo para divulgar meus métodos de estudos e o curso.
      As inscrições para a semana do JavaScript abriram no começo dessa semana. Se inscreve lá =) semanadojs.com.br/

  • @rafaelfigueiredo4647
    @rafaelfigueiredo4647 4 роки тому

    Essas dicas são cortes de outros vídeos? Se sim, onde posso encontrar o vídeo completo? Ótimo trabalho. 👌🤙

    • @antonioqm3122
      @antonioqm3122 4 роки тому +2

      é o que tenho percebido tb. Parecem corte de outros vídeos, o que no deixa com desejo de conhecer o conteúdo completo.

    • @RogerMelo
      @RogerMelo  4 роки тому +4

      Obrigado, Rafael e Antonio. O vídeo completo dessa aplicação irá ao ar em breve.

    • @rafaelfigueiredo4647
      @rafaelfigueiredo4647 4 роки тому

      @@RogerMelo Excelente notícia. Eu fico impressionado como a sua didática facilita o aprendizado, comecei a aprender Front-End há algum tempo, mas nunca pude trabalhar com técnicas mais avançadas como, por exemplo, requisições de API's por meio do Fetch(), que, por sinal, aprendi com seus vídeos.
      Parabéns pelo seu trabalho!

    • @RogerMelo
      @RogerMelo  4 роки тому +2

      Obrigado, Rafael.
      Não sei se chegou a ver, mas tenho uma playlist apenas de aplicações com JS puro: ua-cam.com/play/PLpSJMw6H4PFMOJHMULTxKNOEw7g1cBuyP.html

    • @rafaelfigueiredo4647
      @rafaelfigueiredo4647 4 роки тому

      @@RogerMelo Vi todos sim. 🤙🤙

  • @heitorlopes9816
    @heitorlopes9816 3 роки тому

    Muito pika namoral, tmj

    • @RogerMelo
      @RogerMelo  3 роки тому +1

      Tamo junto Heitor 👊

    • @heitorlopes9816
      @heitorlopes9816 3 роки тому

      @@RogerMelo Então mano, eu tava tentando aplicar o que vc me ensinou nessa aula e ai fui tentar fazer algo mais dinamico, usando html, onde os valores mínimos e máximos são passados através de um input. Porém ele fica retornado valores que não estão dentro do intervalo predefinido. Aqui está o html:


      Sorteador



      Sorteio


      E aqui está o JS:
      function sorteio(){
      const min = document.getElementById('minimo').value
      const max = document.getElementById('maximo').value
      const sorte = Math.floor(Math.random() * (max - min + 1)) + min
      document.getElementById('resultado').innerHTML = sorte
      Se tu puder me ajudar cara, serei eternamente grato, de verdade

    • @RogerMelo
      @RogerMelo  3 роки тому +1

      Nesse vídeo eu mostro como definir um range de max/min em inputs, veja se resolve o problema: ua-cam.com/video/ExK7mUmfdeM/v-deo.html

    • @heitorlopes9816
      @heitorlopes9816 3 роки тому

      @@RogerMelo Mas tipo, eu queria que o próprio caboco ao acessar o site conseguisse determinar o intervalo a partir dos inputs. Se eu definir esses valores min e max no próprio código, esse intervalo vai ser sempre fixo, o que não é o objetivo. Eu quero que a pessoa consiga por por ex, um sorteio entre 1 e 10, ou 3 e 7, ou 4 e 245, não um valor fixo, tendeu?

    • @heitorlopes9816
      @heitorlopes9816 3 роки тому

      O que me intriga, é que se eu faço um teste, usando essa mesma fórmula, usando só js, sem html, pra imprimir o sorteio só no terminal, ele funciona. Só não funciona quando eu tendo extrair os valores máximo e mínimo do input msm

  • @userUndefined404
    @userUndefined404 3 роки тому

    A caloria que um cérebro gasta pra fazer um número aleatório em js seria o suficiente para criar um modelo simples de IA em python.

    • @RogerMelo
      @RogerMelo  3 роки тому

      O necessário para gerar um número aleatório é invocar Math.random(). Eu não acho isso complicado.