Rumah > hujung hadapan web > tutorial js > Pelaksanaan objek tatasusunan JavaScript menambah kaedah untuk mengembalikan kemahiran elemen_javascript rawak

Pelaksanaan objek tatasusunan JavaScript menambah kaedah untuk mengembalikan kemahiran elemen_javascript rawak

WBOY
Lepaskan: 2016-05-16 15:48:43
asal
1392 orang telah melayarinya

Contoh dalam artikel ini menerangkan pelaksanaan objek tatasusunan JavaScript untuk menambah kaedah yang mengembalikan unsur rawak. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:

Ciri teras:

Kebarangkalian rawak, susunan rawak, menggelegak rawak

Kaedah ini datang daripada amalan JavaScript tulisan tangan peribadi, hanya melibatkan bahasa JavaScript 1.5 (ECMAscript 3 piawaian antarabangsa) itu sendiri dan biasa dalam semua pelaksanaan enjin JS~

Tambah kaedah rawak pada objek Array:

(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);
  };
})();

Salin selepas log masuk

Contoh penggunaan:

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

Salin selepas log masuk

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan