W tym przykładzie nauczysz się generować liczbę losową w JavaScript.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania JavaScript:
- JavaScript Math random ()
- JavaScript Math floor ()
W JavaScript możesz wygenerować liczbę losową za pomocą Math.random()
funkcji.
Math.random()
zwraca losową liczbę zmiennoprzecinkową z zakresu od 0 do mniej niż 1 (włącznie z 0 i bez 1 )
Przykład 1: Wygeneruj liczbę losową
// generating a random number const a = Math.random(); console.log(a);
Wynik
0.5856407221615856
Tutaj zadeklarowaliśmy zmienną a i przypisaliśmy jej liczbę losową większą lub równą 0 i mniejszą niż 1 .
Uwaga : W powyższym programie możesz otrzymać inne dane wyjściowe, ponieważ Math.random()
wygeneruje liczbę losową.
Możemy użyć tej wartości z zakresu (0,1), aby znaleźć wartość losową między dowolnymi dwiema liczbami za pomocą wzoru:
Math.random() * (highestNumber - lowestNumber) + lowestNumber
Przykład 2: Uzyskaj losową liczbę od 1 do 10
// generating a random number const a = Math.random() * (10-1) + 1 console.log(`Random value between 1 and 10 is $(a)`);
Wynik
Losowa wartość od 1 do 10 to 7,392579122270686
Spowoduje to wyświetlenie losowej liczby zmiennoprzecinkowej większej niż 1 i mniejszej niż 10 .
Wszystkie powyższe przykłady podają zmiennoprzecinkowe liczby losowe.
Możesz użyć, Math.floor()
aby uzyskać losową wartość całkowitą. Math.floor()
zwraca liczbę, zmniejszając wartość do najbliższej liczby całkowitej. Na przykład,
Math.floor(5.389); // 5 Math.floor(5.9); // 5
Składnia służąca do znajdowania losowej wartości całkowitej między dwiema liczbami:
Math.floor(Math.random() * (highestNumber - lowestNumber)) + lowestNumber
Przykład 3: liczba całkowita od 1 do 10
// generating a random number const a = Math.floor(Math.random() * (10 - 1)) + 1; console.log(`Random value between 1 and 10 is $(a)`);
Wynik
Losowa wartość od 1 do 10 to 2
Spowoduje to wyświetlenie liczb całkowitych od 1 (włącznie) do 10 (wyłącznie) , tj. (1 do 9). Tutaj Math.floor()
służy do konwersji wartości dziesiętnej na liczbę całkowitą.
Podobnie, jeśli chcesz znaleźć losową liczbę całkowitą między min (włącznie) a max (włącznie), możesz użyć następującej formuły:
Math.floor(Math.random() * (max - min + 1)) + min
Przykład 4: Wartość całkowita między dwiema liczbami (włącznie)
// 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)`);
Wynik
Wprowadź wartość minimalną: 1 Wprowadź wartość maksymalną: 50 Losowa wartość między 1 a 50 to 47
To pokaże wynik w postaci liczby całkowitej od min (włącznie) do max (włącznie) .