Bagaimana untuk menulis nombor yang menang dalam javascript

WBOY
Lepaskan: 2023-05-29 12:02:37
asal
661 orang telah melayarinya

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

}
Salin selepas log masuk

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});
Salin selepas log masuk

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]);

}
Salin selepas log masuk

4. Paparkan nombor pemenang

Akhir sekali, kami akan memaparkan nombor kemenangan yang dihasilkan.

console.log(winCodes);
Salin selepas log masuk

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);
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!