Kemarin, ketika saya mengadakan pertemuan tahunan, saya melihat lelucon tentang undian lotere vipshop, tetapi hadiah dimenangkan oleh departemen yang menulis prosedur lotere, dan CTO meninjau kode di lokasi.
Saya secara singkat memikirkan implementasi program lotre dan menghabiskan lebih dari sepuluh menit menuliskannya. Pengetahuan utama yang digunakan adalah penambahan dan penghapusan array, serta indeksof dan metode filter yang ditambahkan ke array ES5.
Untuk menyimpan catatan kemenangan setelah menyegarkan halaman, LocalStorage digunakan untuk menyimpan catatan kemenangan.
Pada awalnya, saya menggunakan nomor acak untuk secara langsung mendapatkan nomor tersebut. Saya menemukan bahwa sangat merepotkan untuk menghilangkan pemenang. Jika Anda berulang kali menelepon secara rekursif, jika ada terlalu banyak pemenang dan probabilitas untuk mendapatkan pemenang terlalu tinggi pada akhirnya, jadi saya menggunakan dua array untuk mengimplementasikannya. Yang satu mencatat angka kemenangan dan yang lainnya mencatat nomor yang tidak disinari. Para pemenang baru saja tersingkir dari array lain, dan tidak ada panggilan rekursif.
Implementasi spesifik adalah sebagai berikut:
var start = 1, end = 20, luckylist = [], futurelist = []; // luckylist menunjukkan orang yang telah memenangkan hadiah, futurelist menunjukkan orang yang belum memenangkan lotere, start, end menunjukkan awal dan akhir lotere // inisialisasi array dari semua nomor personel pertama untuk (var i = start; i <= end/end/end (end (end (end (end (end (end (end (end (end (end (end (end (end (end (end (end (end (end (i end. Halaman ini disegarkan, kembalikan if (localstorage.getItem ("lucky")) {luckylist = localstorage.getItem ("lucky"). split (","); futurelist = futurelist.filter (function (item) {return luckylist. menghasilkan fungsi bilangan beruntung raffle () {var num = math.random ()*futureList.length; num = math.floor (num); var idx = futureList.indexof (num); var hasil = futureList.splice (idx, 1) [0] .tostring (); luckylist.push (hasil); localstorage.setitem ("Lucky", Luckylist); Console.log ("Lucky", hasilnya); clear () {localstorage.setitem ("Lucky", "");} raffle ();Contoh sederhana di atas dari JavaScript yang menerapkan program lotre adalah semua konten yang telah saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.