Heim  >  Artikel  >  Web-Frontend  >  Die Implementierung eines JavaScript-Array-Objekts fügt eine Methode hinzu, um zufällige Elemente_Javascript-Fähigkeiten zurückzugeben

Die Implementierung eines JavaScript-Array-Objekts fügt eine Methode hinzu, um zufällige Elemente_Javascript-Fähigkeiten zurückzugeben

WBOY
WBOYOriginal
2016-05-16 15:48:431347Durchsuche

Das Beispiel in diesem Artikel beschreibt die Implementierung eines JavaScript-Array-Objekts, um eine Methode hinzuzufügen, die zufällige Elemente zurückgibt. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Kernfunktionen:

Zufällige Wahrscheinlichkeit, zufällige Reihenfolge, zufälliges Sprudeln

Diese Methode stammt aus der persönlichen Handschrift-JavaScript-Praxis, umfasst nur die Sprache JavaScript 1.5 (internationaler ECMAscript 3-Standard) selbst und ist in allen JS-Engine-Implementierungen üblich~

Zufallsmethode zum Array-Objekt hinzufügen:

(function () {
  function Random_SN(iArray) {
    return Math.floor(Math.random() * iArray.length);
  }
  function Probability_Random(iArray) {
    var Random_Int;
    if (iArray.Random_SN === undefined)
      iArray.Random_SN = -1;
    do Random_Int = Random_SN(iArray);
    while ( Random_Int == iArray.Random_SN )
    iArray.Random_SN = Random_Int;
    return iArray[Random_Int];
  }
  function Sequence_Random(iArray) {
    return iArray.splice(Random_SN(iArray), 1)[0];
  }
  Array.prototype.random = function (Mode, Pop) {
    if (! Mode)
      return Probability_Random(this);
    if (! Pop) {
      if (! (this.Random_Queue && this.Random_Queue.length))
        this.Random_Queue = [].concat(this);
      return Sequence_Random(this.Random_Queue);
    }
    return Sequence_Random(this);
  };
})();

Anwendungsbeispiel:

// 【概率随机】
//
// 元素的返回 完全随机,出现几率不定,有限次调用不保证能返回所有元素
var iElement = iArray.random();
// 【顺序随机】
//
// 元素的返回 有周期性,在每个周期内,元素都出现一次,但顺序不定
var iElement = iArray.random(true);
// 【随机冒泡】
//
// 每次调用都从原数组中随机取出一个元素返回(原数组 就地改变)
var iElement = iArray.random(true, true);

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

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