Kata Pengantar
Dalam pembangunan bahagian hadapan, selalunya perlu menjana beberapa nombor rawak, seperti nombor yang menang dalam loteri. Javascript menyediakan kaedah untuk menjana nombor rawak, yang boleh menjana nombor kemenangan dengan mudah. Artikel ini akan memperkenalkan secara terperinci cara menjana nombor kemenangan dalam Javascript.
Prinsip asas untuk menjana nombor yang menang
Penjanaan nombor yang menang perlu mempertimbangkan rawak dan penduaan. Pertama, kita memerlukan cara untuk menjana nombor rawak. Javascript menyediakan kaedah Math.random(), yang boleh menjana nombor rawak antara 0 dan 1.
Seterusnya, kita perlu menjana satu set nombor yang menang. Nombor yang menang perlu memenuhi dua syarat berikut:
1. Setiap nombor yang menang adalah nilai yang unik.
2. Setiap nombor yang menang mempunyai kebarangkalian yang sama untuk muncul dalam kumpulan nombor.
Untuk memenuhi dua syarat di atas, anda boleh menggunakan tatasusunan untuk menyimpan semua nombor dalam kumpulan nombor, gunakan kaedah pengisihan rawak tatasusunan untuk mengocok susunan setiap nombor, dan kemudian keluarkan nombor yang menang mengikut urutan dari awal.
Kaedah pelaksanaan
Mari laksanakan program loteri yang mudah. Katakan kita mempunyai kumpulan nombor yang mengandungi 100 nombor (00001~00100), dan kita perlu menarik 10 nombor daripadanya sebagai nombor yang menang.
1. Hasilkan kumpulan nombor
Kita boleh menggunakan gelung for dan kaedah tolak tatasusunan untuk menjana kumpulan nombor.
var codePool = []; //号码池 for(var i=1;i<=100;i++){ var code = i<10?'000'+i:i<100?'00'+i:'0'+i; //格式化号码 codePool.push(code); }
Dalam kod di atas, kami menggunakan operator ternary dan penyambungan rentetan untuk memformatkan nombor menjadi rentetan 5 digit. Sebagai contoh, nombor 1 ditukar kepada rentetan "00001", dan nombor 11 ditukar kepada rentetan "00011".
2. Ganggu kumpulan nombor
Kami menggunakan kaedah isihan tatasusunan untuk mengganggu susunan nombor dalam kumpulan nombor. Kaedah isihan perlu lulus dalam fungsi pengisihan rawak Contohnya, Math.random() boleh digunakan untuk menjana asas pengisihan.
codePool.sort(function(){return Math.random()-0.5});
3. Lukiskan nombor yang menang
Seterusnya, kami merentasi kumpulan nombor dari awal dan mengeluarkan 10 nombor pertama sebagai nombor yang menang.
var winCodes = []; //中奖号码 for(var i=0;i<10;i++){ winCodes.push(codePool[i]); }
4. Paparkan nombor pemenang
Akhir sekali, kami akan memaparkan nombor kemenangan yang dihasilkan.
console.log(winCodes);
Kod lengkap
Kod akhir adalah seperti berikut:
var codePool = []; //号码池 //生成号码池 for(var i=1;i<=100;i++){ var code = i<10?'000'+i:i<100?'00'+i:'0'+i; codePool.push(code); } //打乱号码池 codePool.sort(function(){return Math.random()-0.5}); //抽取中奖号码 var winCodes = []; for(var i=0;i<10;i++){ winCodes.push(codePool[i]); } //展示中奖号码 console.log(winCodes);
Ringkasan
Artikel ini memperkenalkan prinsip asas dan kaedah pelaksanaan untuk menjana nombor kemenangan dalam Javascript. Javascript menyediakan kaedah Math.random() untuk menjana nombor rawak Menggunakan kaedah pengisihan rawak tatasusunan boleh mengganggu susunan nombor dalam kumpulan nombor, dengan itu mencapai cabutan rawak. Akhirnya, kami mendedahkan nombor yang menang. Kaedah yang diterangkan dalam artikel ini adalah pelaksanaan yang mudah, dan dalam praktiknya ia boleh diperbaiki mengikut keperluan tertentu.
Atas ialah kandungan terperinci Bagaimana untuk menulis nombor yang menang dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!