Neste exemplo, você aprenderá a gerar um número aleatório em JavaScript.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação JavaScript:
- JavaScript Math random ()
- JavaScript Math floor ()
Em JavaScript, você pode gerar um número aleatório com a Math.random()
função.
Math.random()
retorna um número de ponto flutuante aleatório variando de 0 a menos de 1 (incluindo 0 e exclusivo de 1 )
Exemplo 1: gerar um número aleatório
// generating a random number const a = Math.random(); console.log(a);
Resultado
0,5856407221615856
Aqui, declaramos uma variável a e atribuímos a ela um número aleatório maior ou igual a 0 e menor que 1 .
Nota : Você pode obter uma saída diferente no programa acima, pois Math.random()
irá gerar um número aleatório.
Podemos usar este valor no intervalo (0,1) para encontrar o valor aleatório entre quaisquer dois números usando a fórmula:
Math.random() * (highestNumber - lowestNumber) + lowestNumber
Exemplo 2: obtenha um número aleatório entre 1 e 10
// generating a random number const a = Math.random() * (10-1) + 1 console.log(`Random value between 1 and 10 is $(a)`);
Resultado
O valor aleatório entre 1 e 10 é 7,392579122270686
Isso mostrará um número de ponto flutuante aleatório maior que 1 e menor que 10 .
Todos os exemplos acima fornecem números aleatórios de ponto flutuante.
Você pode usar Math.floor()
para obter um valor inteiro aleatório. Math.floor()
retorna o número diminuindo o valor para o valor inteiro mais próximo. Por exemplo,
Math.floor(5.389); // 5 Math.floor(5.9); // 5
A sintaxe para encontrar o valor inteiro aleatório entre dois números:
Math.floor(Math.random() * (highestNumber - lowestNumber)) + lowestNumber
Exemplo 3: valor inteiro entre 1 e 10
// generating a random number const a = Math.floor(Math.random() * (10 - 1)) + 1; console.log(`Random value between 1 and 10 is $(a)`);
Resultado
O valor aleatório entre 1 e 10 é 2
Isso mostrará a saída de inteiro entre 1 (inclusivo) a 10 (exclusivo) , ou seja, (1 a 9). Aqui, Math.floor()
é usado para converter valores decimais em inteiros.
Da mesma forma, se quiser encontrar o número inteiro aleatório entre min (inclusivo) e max (inclusivo), você pode usar a seguinte fórmula:
Math.floor(Math.random() * (max - min + 1)) + min
Exemplo 4: valor inteiro entre dois números (inclusivo)
// input from the user const min = parseInt(prompt("Enter a min value: ")); const max = parseInt(prompt("Enter a max value: ")); // generating a random number const a = Math.floor(Math.random() * (max - min + 1)) + min; // display a random number console.log(`Random value between $(min) and $(max) is $(a)`);
Resultado
Insira um valor mínimo: 1 Insira um valor máximo: 50 O valor aleatório entre 1 e 50 é 47
Isso mostrará a saída de inteiro entre min (inclusivo) e max (inclusivo) .