Baseline Widely available
Die Math.random()
statische Methode gibt eine Gleitkommazahl zurück, die pseudo-zufällig ist und gröÃer oder gleich 0 und kleiner als 1 ist, mit ungefähr gleichmäÃiger Verteilung über diesen Bereich â den Sie dann auf Ihren gewünschten Bereich skalieren können. Die Implementierung wählt den anfänglichen Seed für den Zufallszahlengenerierungsalgorithmus aus; er kann vom Benutzer nicht gewählt oder zurückgesetzt werden.
Hinweis: Math.random()
bietet keine kryptografisch sicheren Zufallszahlen. Verwenden Sie sie nicht für sicherheitsrelevante Zwecke. Verwenden Sie stattdessen die Web Crypto API, und genauer die Methode Crypto.getRandomValues()
.
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
console.log(getRandomInt(3));
// Expected output: 0, 1 or 2
console.log(getRandomInt(1));
// Expected output: 0
console.log(Math.random());
// Expected output: a number from 0 to <1
Syntax Parameter
Keine.
RückgabewertEine Gleitkommazahl, pseudo-zufällig zwischen 0 (einschlieÃlich) und 1 (ausschlieÃlich).
BeispieleBeachten Sie, dass Zahlen in JavaScript IEEE 754 Gleitkommazahlen mit Rundung auf das nächste gerade Verhalten sind. Die für die unten genannten Funktionen (auÃer für Math.random()
selbst) angegebenen Bereiche sind daher nicht exakt. Normalerweise ist die angegebene obere Grenze nicht erreichbar, aber wenn Math.random()
eine Zahl sehr nah an 1 zurückgibt, könnte der winzige Unterschied an der gewünschten maximalen Grenze nicht darstellbar sein, wodurch die obere Grenze erreicht wird.
function getRandom() {
return Math.random();
}
Eine Zufallszahl zwischen zwei Werten erhalten
Dieses Beispiel gibt eine Zufallszahl zwischen den angegebenen Werten zurück. Der zurückgegebene Wert ist nicht niedriger als (und kann möglicherweise gleich) min
, und ist weniger als (und nicht gleich) max
.
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
Eine zufällige ganze Zahl zwischen zwei Werten erhalten
Dieses Beispiel gibt eine zufällige ganze Zahl zwischen den angegebenen Werten zurück. Der Wert ist nicht niedriger als min
(oder die nächste ganze Zahl gröÃer als min
, wenn min
keine ganze Zahl ist) und ist weniger als (aber nicht gleich) max
.
function getRandomInt(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled); // The maximum is exclusive and the minimum is inclusive
}
Hinweis: Es könnte verlockend sein, Math.round()
dafür zu verwenden, aber dies würde dazu führen, dass Ihre Zufallszahlen einer nicht gleichmäÃigen Verteilung folgen, was möglicherweise nicht für Ihre Bedürfnisse akzeptabel ist.
Obwohl die oben erwähnte getRandomInt()
Funktion am Minimum einschlieÃlich ist, ist sie am Maximum ausschlieÃlich. Was, wenn Sie Ergebnisse benötigen, die sowohl am Minimum als auch am Maximum einschlieÃlich sind? Die getRandomIntInclusive()
Funktion unten erreicht das.
function getRandomIntInclusive(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled); // The maximum is inclusive and the minimum is inclusive
}
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4