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.
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!
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
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.
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.
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.
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!!!
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
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
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
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.
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 =)
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!
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.
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/
@@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!
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
@@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 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?
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
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.
Cara vc explica muitoooo bem, achei top o video, estou começando a estudar JavaScript, e vc me salvou num exercício, Parabéns!!
Valeu Rafael 🙏🏻
MDS é a melhor explicação que obtive disso, muito obrigado cara :p
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!
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
Rapaz...tu fez minha cabeça explodir pq finalmente entendi o Math, gratidão. Ótima ditádica
Parabéns pela explicação, vi vários vídeos e não consegui entender, só olhando o seu consegui, salvou muito!
Olhei todos o vídeo do UA-cam sobre math não tava conseguindo intender. Com sua explicação entendi perfeitamente muito obrigado
É absurdo o tanto de conhecimento que pego com vc, mesmo conhecendo a maioria das coisas ensinadas.
Obrigado, Luke 🙏
Gosto da sua didática mesmo ter aprendido, quando você vai voltar com o Telegrama da turma?
Nao costumo comentar nesses videos curtos! Mas o seu mereceu meu parabéns, obrigado!
Ao invés de um número pode ser uma string?
Pode, nesse caso é mais produtivo usar uma lib como o www.npmjs.com/package/uuid
Roger sua forma de explicar é sensacional.
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.
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.
esse cara é incrível!
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.
Muito bom obrigado, explicação sensacional
Tamo junto Douglas 👊
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!!!
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
Obrigado @@lucaswartha pela explicação. Agora entendi. 😬👍🏻
Excelente !
Excelente explicação + Excelente Didática=Excelente Vídeo. Parabéns!!!!! Assistiu ao vídeo, não precisa procurar outro"
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
Nota que talvez ajude: ele fala sempre apenas o número mínimo
E eu mudei o nome da constante e no console pra "dado"
A melhor explicação que eu assisti sobre esse tema, muito obrigado por compartilhar todo esse conhecimento.
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
@@RogerMelo muitoo obrigado, irei ver todos!!
Cara, muito show a sua maneira de explicar. Top de mais mesmo... Eu já tinha assistido outros vídeos antes... Pow, muito bom!
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.
Parabéns pelo conteúdo
Valeu Lucas 👊🏻
Muito bom! Estava com problemas porque minha função gerava números menores que 100. Problema resolvido!
Como vc pos essa linha vertical no seu vc code...?
Aliais ótimo trabalho...
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 =)
Como faço para comprar seu curso...?
Eu fechei uma turma de 60 pessoas há um mês, então nesse momento as matrículas não estão abertas =)
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!
Obg pela explicação! Tava tentando entender essa lógica e você explicou exatamente o que eu queria entender. Vlw!
Maravilhosa explicação. Ser um bom professor é uma arte.
Valeu Gabriel 🙏🏻
Ótima aula!
Massa que ajudou! =)
honestamente nada intuitivo o javascript kkkkk import random random.randint(0,10) é bem mais facil de entender
Generalizar não é nada inteligente =)
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.
Sequência é fundamental =)
Fica ligado aqui: ua-cam.com/video/K2YvtapF0hg/v-deo.html
Excelência!
Nunca vi tamanha didática!! Onde aperta para curtir mais de uma vez? rs
Valeu Arnon 🙏🏻
Show. 👏👏👏👏👏
Roger sensacionais seus videos
tem algo no udemy?
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/
Essas dicas são cortes de outros vídeos? Se sim, onde posso encontrar o vídeo completo? Ótimo trabalho. 👌🤙
é o que tenho percebido tb. Parecem corte de outros vídeos, o que no deixa com desejo de conhecer o conteúdo completo.
Obrigado, Rafael e Antonio. O vídeo completo dessa aplicação irá ao ar em breve.
@@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!
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
@@RogerMelo Vi todos sim. 🤙🤙
Muito pika namoral, tmj
Tamo junto Heitor 👊
@@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
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
@@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?
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
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.
O necessário para gerar um número aleatório é invocar Math.random(). Eu não acho isso complicado.