JavaScript Math.random () Methode erklärt

Zufällige Methode

Die JavaScript- Math.random()Methode ist eine hervorragende integrierte Methode zur Erzeugung von Zufallszahlen. Bei der Math.random()Ausführung wird eine Zufallszahl zurückgegeben, die zwischen 0 und 1 liegen kann. Die 0 ist enthalten und 1 ist ausgeschlossen.

Generieren einer zufälligen Gleitkommazahl zwischen 0 und 1

Die Math.random()Methode gibt eine Gleitkommazahl (Dezimalzahl) zurück, die größer oder gleich 0 und kleiner als (aber niemals gleich) 1 ist. Mit anderen Worten 0 <= x < 1. Zum Beispiel:

console.log(Math.random()); // 0.7069207248635578 console.log(Math.random()); // 0.765046694794209 console.log(Math.random()); // 0.14069121642698246

(Natürlich sind die zurückgegebenen Zahlen jedes Mal anders. Dies wird für alle folgenden Beispiele angenommen - bei jedem Durchgang werden unterschiedliche Ergebnisse erzielt.)

Um eine Zufallszahl zwischen einem größeren Bereich zu erhalten, multiplizieren Sie das Ergebnis Math.random()mit einer Zahl.

Generieren einer zufälligen Gleitkommazahl zwischen 0 und einem angegebenen max

Normalerweise benötigen Sie keine Zufallszahlen zwischen 0 und 1 - Sie benötigen größere Zahlen oder sogar ganze Zahlen.

Wenn Sie beispielsweise eine zufällige Gleitkommazahl zwischen 0 und 10 wünschen, können Sie Folgendes verwenden:

var x = Math.random()*10; console.log(x); // 4.133793901445541

Generieren einer zufälligen Gleitkommazahl innerhalb eines Bereichs

Wenn Sie eine zufällige Gleitkommazahl benötigen, die zwischen zwei bestimmten Zahlen liegt, können Sie Folgendes tun:

var min = 83.1; var max = 193.36; var x = Math.random()*(max - min)+min; console.log(x); // 126.94014012699063

Generieren einer zufälligen Ganzzahl zwischen 0 und max

Oft braucht man ganze Zahlen. Dazu müssen Sie einige andere Methoden aus dem MathObjekt verwenden Math.floor()(auf die nächste Ganzzahl abrunden) und Math.ceil()(auf die nächste Ganzzahl aufrunden).

Wenn Sie beispielsweise zufällig aus einem Array von 10 Elementen auswählen müssen, benötigen Sie eine Zufallszahl zwischen 0 und 9 einschließlich (denken Sie daran, dass Arrays mit Null indiziert sind).

var x = Math.floor(Math.random()*10); console.log(x); // 7

(Denken Sie daran, dass Math.random()niemals genau 1 zurückgegeben wird, also Math.random()*10niemals genau 10. Dies bedeutet, dass das Ergebnis nach dem Abrunden immer 9 oder weniger beträgt.)

Generieren einer zufälligen Ganzzahl zwischen 1 und max

Wenn Sie eine Zufallszahl mit einer Mindestanzahl von 1 benötigen (z. B. einen zufälligen Tag im Januar auswählen), können Sie die Math.ceil()Methode verwenden.

var x = Math.ceil(Math.random()*31); console.log(x); // 23

Eine andere Möglichkeit wäre gewesen, die vorherige Funktion (using Math.floor()) zu verwenden und 1 hinzuzufügen:

var x = Math.floor(Math.random()*31)+1; console.log(x); // 17

Generieren einer zufälligen Ganzzahl innerhalb eines Bereichs

Schließlich benötigen Sie gelegentlich eine zufällige Ganzzahl zwischen zwei bestimmten Ganzzahlen. Wenn Sie beispielsweise versuchen, Gewinnspielkarten auszuwählen, und die Zahlen der niedrigsten und größten Zahl kennen:

var min = 1718; var max = 3429; var x = Math.floor(Math.random()*(max-min+1)+min); console.log(x); //2509

Wie zufällig ist Math.random ()?

Es kann darauf hingewiesen werden, dass die von zurückgegebene Zahl Math.random()eine Pseudozufallszahl ist, da kein Computer eine wirklich zufällige Zahl erzeugen kann, die über alle Skalen und über alle Größen von Datensätzen hinweg Zufälligkeit aufweist. Die von erzeugte Pseudozufallszahl Math.random()reicht jedoch normalerweise für die Anforderungen nahezu aller Programme aus, die Sie schreiben können. Die Nicht-wirklich-Zufälligkeit zeigt sich nur in astronomisch großen Zahlenmengen oder wenn ungewöhnlich genaue Dezimalstellen benötigt werden.