Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Schritte zum Generieren einer Bereichs-Randomisierung und Sequenz-Randomisierung in JS
Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Schritte zur Generierung von Bereichsrandomisierung und Sequenzrandomisierung geben. Was sind die Vorsichtsmaßnahmen für die JS-Generierungsbereichsrandomisierung und Sequenzrandomisierung? Schauen Sie mal rein.
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!
Wie lassen sich Vue-Formulare automatisieren?
So nehmen Sie Passwortänderungen und Personalisierung in Vue vor Informationsanzeigefunktion
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zum Generieren einer Bereichs-Randomisierung und Sequenz-Randomisierung in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!