Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Methode zum Generieren von Zufallszahlen und Zufallssequenzen in einem bestimmten Bereich mithilfe von JS
Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Methode zum Generieren von Zufallszahlen und Zufallssequenzen in einem bestimmten Bereich mit JS geben. Was sind die Vorsichtsmaßnahmen zum Generieren von Zufallszahlen und Zufallssequenzen in einem bestimmten Bereich? mit JS. Hier sind praktische Fälle.
In JavaScript verwenden wir häufig die Methode Math.random(), um Zufallszahlen zu generieren, aber die von dieser Methode generierten Zufallszahlen sind nur Zufallszahlen zwischen 0 und 1. Schauen wir uns zunächst die Eigenschaften der folgenden häufig verwendeten Methoden an:
•1.Math.random(); Das Ergebnis ist eine Zufallszahl zwischen 0-1 (einschließlich 0, ausschließlich 1)
•2. Math.floor(num); Der Parameter num ist ein numerischer Wert und das Ergebnis der -Funktion ist der ganzzahlige -Teil von num. Dasselbe wie die parseInt(num)-Methode zum Erfassen von Ganzzahlen.
•3.Math.round(num); Der Parameter num ist ein numerischer Wert und das Funktionsergebnis ist die ganze Zahl, nachdem num gerundet wurde.
•4.Math.ceil(num); Gibt die kleinste Ganzzahl größer oder gleich n zurück.
Verwenden Sie die obige Methode sinnvoll, um eine Zufallszahl im angegebenen Bereich zu generieren:
Einschließlich des Mindestwerts, aber nicht des Maximalwerts:
parseInt(num) rundet den eingehenden Wert Konvertieren Sie num in eine kleine Ganzzahl. Multiplizieren Sie Math.random() mit der Differenz zwischen Maximum und Minimum, verarbeiten Sie es mit parseInt (beachten Sie, dass der Bereich zu diesem Zeitpunkt [0-Differenz) ist) und addieren Sie den Minimalwert. Sie können den Minimalwert erhalten, aber nicht den maximaler ganzzahliger Wert.
Um eine Zufallszahl zu erhalten, die den Minimalwert, aber nicht den Maximalwert enthält, verwenden Sie die folgende Funktion:
function getRandom1(start, end) { var length = end - start; var num = parseInt(Math.random() * (length) + start); return num; }
Einschließlich des Maximalwerts, aber nicht des Minimalwerts:
Math.ceil(num)
Ermitteln Sie die kleinste Ganzzahl, die größer oder gleich num ist, dh konvertieren Sie die übergebene Zahl in eine große Ganzzahl. Multiplizieren Sie Math.random() mit der Differenz zwischen Maximum und Minimum, verarbeiten Sie es mit Math.ceil() (beachten Sie, dass der Bereich zu diesem Zeitpunkt (0-Differenz) ist) und addieren Sie den Minimalwert, um das Minimum zu erhalten Wert ohne den Minimalwert, aber einschließlich des Maximalwerts. Das heißt, ändern Sie parseInt im obigen Fall in Math.ceil()
, um die Zufallszahl zu erhalten, die den Maximalwert, aber nicht den Minimalwert enthält , und verwenden Sie die folgende Funktion, um es zu implementieren:
function getRandom1(start, end) { var length = end - start; var num = Math.ceil(Math.random() * (length) + start); return num; }
Die Situation, in der sowohl der Maximalwert als auch der Minimalwert enthalten sind:
Der Maximalwert und der Minimalwert sind dabei beide enthalten Im Vergleich zu den beiden oben genannten Fällen wurde der Bereich möglicher Werte um 1 erweitert. In der Phase der Zufallszahlengenerierung ist es erforderlich, den Bereich möglicher Zufallszahlen um 1 zu erweitern Um auf kleine Werte zu runden und Math.ceil(num) zum Konvertieren in große Werte zu verwenden (unabhängig von der verwendeten Methode, besteht der Schlüssel darin, während der Zufallszahlengenerierungsphase 1 zum Bereich hinzuzufügen.
Verwenden Sie die parseInt-Methodefunction getRandom1(start, end) { var length = end - start + 1; var num = parseInt(Math.random() * (length) + end); return num; }--------------------- -------------- ------------------------------------ ---------- Manchmal reicht es nicht aus, die Werte im angegebenen Bereich in zufälliger Reihenfolge anzuordnen und sie dann zu addieren Die in jeder Eine zufällige Reihenfolge kann direkt über die Sortiermethode implementiert werden Rufen Sie die Sortiermethode auf und übergeben Sie einen zufällig generierten Wert (kann positiv oder negativ sein) über die Funktion. Sie können die Reihenfolge unterbrechen und die zufällige Reihenfolge des Arrays wie folgt abrufen: getNum () gibt ein Array von Zahlen 1-10 der Reihe nach zurück, dann ist der erhaltene numArr eine Zufallsfolge von 1-10:
var numArr = getNum().sort(function () { return Math.random() - 0.5; });Es ist auch möglich, eine eigene Logik zu schreiben, um eine Zufallsfolge zu generieren: Definieren Sie ein Array zum Speichern von Zufallszahlen und erstellen Sie dann eine Schleife, um im vorhandenen Array zu suchen. Wenn es vorhanden ist, ändert sich das Flag auf „False“, um anzuzeigen, dass die generierte Zufallszahl wiederholt wird Das Hinzufügen zum Array ist erfolgreich, der Array-Index (der die Anzahl der Array-Elemente angibt) wird erhöht und die
-Schleife wird beendet, wenn die Bedingung
erfüllt ist. Das folgende Beispiel implementiert eine Zufallssequenz zwischen 5 -10 (der folgende Fall ist inklusive):function getOrder(start, end) { var length = end - start; var myorder = new Array(); var index = 0; while (index < length+1) { var flag = true; var num = parseInt(Math.random() * (length + 1)); for (var i in myorder) { if (myorder[i] == num) { flag = false; } } if (flag == true) { myorder[index] = num; index++; } } alert(myorder.length); alert(myorder); } getOrder(5, 10);Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
So zeigen Sie persönliche Informationen an und ändern das Passwort in Vue
Analyse des Vue-Datenreaktionsprinzips
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Methode zum Generieren von Zufallszahlen und Zufallssequenzen in einem bestimmten Bereich mithilfe von JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!