


Nombor rawak digunakan dalam banyak senario pengaturcaraan, daripada pembangunan permainan dan simulasi kepada penjanaan UUID. Untuk itu, JavaScript menyediakan kaedah terbina dalam untuk berfungsi dengan nombor rawak. Dalam siaran ini, kami akan meneroka cara yang berbeza untuk menjana nombor rawak dalam JavaScript, daripada yang mudah kepada yang lanjutan. Jadi, mari mulakan!
Asas Menjana Nombor Rawak dalam JavaScript
Dalam JavaScript, kaedah utama untuk menjana nombor rawak ialah Math.random(). Kaedah ini mengembalikan nombor rawak titik terapung antara 0 (termasuk) dan 1 (eksklusif). Ini bermakna ia akan mengembalikan nilai dalam julat [0, 1), seperti 0.2345 atau 0.6789. Ia semudah itu! Mari semak sampel kod untuk ini:
let randomNum = Math.random(); console.log(randomNum); // Outputs a random number between 0 and 1
Ini akan memberikan output seperti ini, jika kami menjalankan program pada sistem kami:
Walaupun, ini adalah titik permulaan yang bagus, tetapi jika kita memerlukan integer rawak atau nombor dalam julat tertentu, Math.random() sahaja tidak akan mencukupi untuk melakukan tugas itu.
Menjana Nombor Rawak dalam Julat
Untuk menjana nombor rawak dalam julat tertentu, katakan antara nilai min tertentu dan nilai maksimum tertentu yang lain, anda perlu melakukan sedikit matematik. Berikut ialah formula yang akan membantu:
function getRandomInRange(min, max) { return Math.random() * (max - min) + min; } console.log(getRandomInRange(10, 20)); // Outputs a number between 10 and 20
Ini akan memberikan output seperti:
Math.random() menjana nombor antara 0 dan 1. Dan, dengan mendarabnya dengan (maks - min) dan kemudian menambah min, anda memastikan nombor itu berada dalam julat [min, maks).
Menjana Integer Rawak dalam Julat
Kadangkala, anda mungkin memerlukan nombor bulat dan bukannya nilai titik terapung. Untuk menjana integer rawak dalam julat tertentu, anda boleh menggunakan Math.floor() atau Math.ceil(). Jom semak caranya:
function getRandomIntInRange(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } console.log(getRandomIntInRange(1, 100)); // Outputs a random integer between 1 and 100
Apabila kita menjalankan kod ini, kita akan mendapat output yang serupa seperti ini:
Di sini, Math.floor() membundarkan ke bawah kepada integer terdekat, memastikan hasilnya ialah integer dalam julat [min, maks].
Menjana Boolean Rawak
Anda juga boleh menjana nilai boolean rawak (benar atau palsu) dalam JavaScript, yang boleh berguna dalam permainan atau dalam sebarang senario membuat keputusan:
function getRandomBoolean() { return Math.random() >= 0.5; } console.log(getRandomBoolean()); // Outputs true or false randomly
Kami akan mendapat output yang serupa seperti ini, apabila kami akan menjalankan kod:
Menjana Nilai Rawak daripada Tatasusunan
Sekarang, jika kita ingin memilih elemen rawak daripada tatasusunan, kita boleh menggunakan Math.floor() dengan Math.random() dengan mudah. Mari lihat bagaimana kita boleh melakukannya:
let randomNum = Math.random(); console.log(randomNum); // Outputs a random number between 0 and 1
Sekarang, ini akan memberi kita sebarang unsur rawak daripada tatasusunan seperti ini, apabila kita menjalankan program:
Mengocok Array
Untuk mengocok tatasusunan, iaitu menyusun semula elemennya secara rawak, anda boleh menggunakan algoritma kocok Fisher-Yates. Begini cara ia boleh dilaksanakan dengan bantuan Math.random():
function getRandomInRange(min, max) { return Math.random() * (max - min) + min; } console.log(getRandomInRange(10, 20)); // Outputs a number between 10 and 20
Sekarang, apabila kita akan menjalankan program, ia akan memberikan kita tatasusunan yang dikocok seperti ini:
Penjanaan UUID rawak
Dalam banyak senario pembangunan, anda mungkin perlu menggunakan pengecam unik dan anda mungkin mempertimbangkan untuk menggunakan UUID rawak (Pengecam Unik Sejagat). Berikut ialah contoh asas penjana UUID menggunakan kaedah rawak kami:
function getRandomIntInRange(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } console.log(getRandomIntInRange(1, 100)); // Outputs a random integer between 1 and 100
Jadi, apabila kita menjalankan program ini, ia akan menghasilkan UUID rawak seperti ini:
Kesimpulan
Seperti yang anda lihat, JavaScript menyediakan banyak fleksibiliti untuk menjana nombor rawak. Dan dengan Math.random() sebagai asas, kita boleh mencipta nombor rawak, integer, boolean dan juga tatasusunan rawak. Dengan memahami teknik teras ini, kami berharap anda akan mempunyai asas yang kukuh untuk melaksanakan kerawak dalam projek JavaScript anda. Sama ada anda membina permainan, simulator loteri atau sebarang ciri yang memerlukan ketidakpastian, kaedah ini akan menampung keperluan anda!
Dan akhirnya, terima kasih kerana membaca blog! Saya harap anda mendapati ia bermaklumat dan berharga. Untuk mendapatkan maklumat lanjut, ikuti saya di Twitter (swapnoneel123) di mana saya berkongsi lebih banyak kandungan sedemikian melalui tweet dan rangkaian saya. Dan, sila pertimbangkan untuk berkongsinya dengan orang lain di Twitter dan tandai saya dalam siaran anda supaya saya dapat melihatnya juga. Anda juga boleh menyemak GitHub (Swpn0neel) saya untuk melihat projek saya. Saya doakan anda hari yang hebat di hadapan dan sehingga itu terus belajar dan terus meneroka!!
Soalan Lazim
Adakah Math.random() benar-benar rawak?
Tidak, Math.random() tidak benar-benar rawak. Ia adalah penjana nombor rawak pseudo (PRNG), yang bermaksud ia menggunakan algoritma deterministik untuk menjana nombor. Walaupun nombor ini mungkin kelihatan rawak, ia dijana melalui proses yang boleh diramal.
Bolehkah saya menetapkan benih untuk Math.random() dalam JavaScript?
JavaScript's Math.random() tidak membenarkan anda menetapkan benih secara asli. Sesetengah bahasa pengaturcaraan lain membenarkan penjana nombor rawak berbiji untuk kebolehulangan, tetapi dalam JavaScript, anda memerlukan pustaka pihak ketiga (seperti seedrandom) jika anda mahukan ciri ini.
Mengapa Math.random() mengembalikan nombor antara 0 dan 1, bukannya julat yang lebih besar?
Pilihan reka bentuk di sebalik Math.random() mengembalikan nombor titik terapung antara 0 dan 1 adalah untuk memberikan fleksibiliti. Dengan mengembalikan nilai yang dinormalkan, pembangun boleh menskalakannya dengan mudah kepada mana-mana julat atau format, seperti integer atau nombor antara min dan maks tertentu.
Adakah terdapat sebarang kebimbangan prestasi dengan menggunakan Math.random() dengan kerap?
Dalam kebanyakan kes, Math.random() cekap dan cukup pantas untuk kegunaan biasa, seperti dalam permainan, animasi atau aplikasi harian yang lain. Walau bagaimanapun, jika anda perlu menjana berjuta-juta nombor rawak dalam masa nyata (contohnya, dalam simulasi berprestasi tinggi), anda mungkin ingin mempertimbangkan penyelesaian yang dioptimumkan seperti penjana rawak berasaskan WebAssembly atau algoritma tersuai.
Bolehkah Math.random() digunakan untuk tujuan kriptografi?
Tidak, Math.random() tidak cukup selamat untuk tujuan kriptografi. Ia boleh diramal dan tidak boleh digunakan dalam situasi yang memerlukan nombor rawak selamat, seperti menjana kata laluan atau kunci kriptografi. Untuk senario ini, anda harus menggunakan kaedah crypto.getRandomValues() yang disediakan oleh API Kriptografi Web, yang menawarkan rawak yang lebih selamat.
Atas ialah kandungan terperinci Kuasai Penjanaan Nombor Rawak JavaScript: Panduan untuk Math.random() dan Seterusnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Fungsi JavaScript mudah digunakan untuk memeriksa sama ada tarikh sah. fungsi isvaliddate (s) { var bits = s.split ('/'); var d = tarikh baru (bit [2] '/' bits [1] '/' bits [0]); kembali !! (d && (d.getmonth () 1) == bit [1] && d.getdate () == nombor (bit [0])); } // ujian var

Artikel ini membincangkan cara menggunakan jQuery untuk mendapatkan dan menetapkan margin dalaman dan nilai margin elemen DOM, terutama lokasi tertentu margin luar dan margin dalaman elemen. Walaupun ada kemungkinan untuk menetapkan margin dalaman dan luar elemen menggunakan CSS, nilai yang tepat boleh menjadi rumit. // Sediakan $ ("div.header"). css ("margin", "10px"); $ ("div.header"). css ("padding", "10px"); Anda mungkin menganggap kod ini

Artikel ini meneroka sepuluh tab jQuery yang luar biasa dan akordion. Perbezaan utama antara tab dan akordion terletak pada bagaimana panel kandungan mereka dipaparkan dan tersembunyi. Mari kita menyelidiki sepuluh contoh ini. Artikel Berkaitan: 10 JQuery Tab Plugin

Temui sepuluh plugin jQuery yang luar biasa untuk meningkatkan dinamisme dan daya tarikan visual laman web anda! Koleksi ini menawarkan pelbagai fungsi, dari animasi imej ke galeri interaktif. Mari kita meneroka alat yang berkuasa ini: Posting Berkaitan: 1

HTTP-CONSOLE adalah modul nod yang memberi anda antara muka baris arahan untuk melaksanakan arahan HTTP. Ia bagus untuk menyahpepijat dan melihat apa yang sedang berlaku dengan permintaan HTTP anda, tanpa mengira sama ada mereka dibuat terhadap pelayan web, Serv Web

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

Coretan kod jQuery berikut boleh digunakan untuk menambah bar skrol apabila kandungan div melebihi kawasan elemen kontena. (Tiada demonstrasi, sila salin terus ke Firebug) // d = dokumen // w = tetingkap // $ = jQuery var contentArea = $ (ini), Wintop = contentArea.scrollTop (), docheight = $ (d) .height (), winheight = $ (w) .height (), Divheight = $ ('#c


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Dreamweaver CS6
Alat pembangunan web visual
