Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der zufällig generierten JS-Zahlen und Sequenzmethoden

Detaillierte Erläuterung der zufällig generierten JS-Zahlen und Sequenzmethoden

php中世界最好的语言
php中世界最好的语言Original
2018-05-07 17:00:141618Durchsuche

Dieses Mal werde ich Ihnen die Methode zur zufälligen Generierung von Zahlen und Sequenzen in JS ausführlich erläutern. Was sind die Vorsichtsmaßnahmen für die zufällige Generierung von Zahlen und Sequenzen in JS? sehen.

•1.Math.random(); Das Ergebnis ist eine Zufallszahl zwischen 0-1 (einschließlich 0, ohne 1)

•2.Math.floor(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-Methode

function 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

-Schleife generierten Werte sind zufällig und werden dem Array hinzugefügt, um eine zufällige Anordnung der numerischen Größen zu erreichen:

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 zurück, die in der Reihenfolge angeordnet sind, 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 Zufallszahlen zu generieren. Suchen Sie nach der Generierung im vorhandenen Array. Das Flag ändert sich in „false“, um anzuzeigen, dass die generierte Zufallszahl wiederholt wird. Wenn das Hinzufügen zum Array erfolgreich ist, wird der Array-Index (der die Anzahl der Array-Elemente angibt) erhöht und die

-Schleife wird beendet, wenn die Bedingung

erfüllt ist 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 !

Empfohlene Lektüre:

Dies weist auf die Verwendung von Call and Apply hin

Detaillierte Erklärung der Installation und Verwendung von Less

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der zufällig generierten JS-Zahlen und Sequenzmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn