Membenihkan Penjana Nombor Rawak dalam JavaScript
Math.random() terbina dalam dalam JavaScript tidak menyediakan keupayaan untuk menyemai penjana nombor rawak, bermakna ia tidak boleh dimulakan dengan nilai tertentu untuk menjana urutan rawak yang telah ditetapkan nombor.
Walaupun pembenihan tidak boleh dilakukan dengan Math.random(), terdapat perpustakaan luaran dan pelaksanaan yang menawarkan fungsi tersuai untuk menjana nombor pseudorandom boleh benih. Berikut ialah beberapa pilihan:
Fungsi Penjana Nombor Pseudorandom (PRNG)
Beberapa fungsi PRNG yang padat dan cekap boleh dilaksanakan dalam JavaScript, menyediakan nombor rawak berkualiti tinggi yang boleh disemai dengan satu atau lebih nombor 32-bit.
Seed Permulaan
Adalah penting untuk memulakan PRNG anda dengan betul untuk mengelakkan benih entropi rendah yang boleh menjejaskan rawak nombor yang dijana. Berikut ialah dua kaedah biasa:
PRNG Algoritma
Berikut ialah contoh algoritma sfc32 (Simple Fast Counter), yang mempunyai keadaan 128-bit dan menghasilkan nombor rawak dalam julat 0-1:
function sfc32(a, b, c, d) { return function() { a |= 0; b |= 0; c |= 0; d |= 0; let t = (a + b | 0) + d | 0; d = d + 1 | 0; a = b ^ b >>> 9; b = c + (c << 3) | 0; c = (c << 21 | c >>> 11); c = c + t | 0; return (t >>> 0) / 4294967296; } }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membenihkan Penjana Nombor Rawak dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!