Ontem, quando eu estava realizando uma reunião anual, vi uma piada sobre o sorteio da loteria do VIPShop, mas os prêmios foram ganhos pelo departamento que escreveu os procedimentos da loteria, e o CTO revisou o código no local.
Pensei brevemente na implementação do programa de loteria e passei mais de dez minutos escrevendo -o. O principal conhecimento utilizado são a adição e a exclusão da matriz, bem como os métodos de índiceof e filtro adicionados à matriz ES5.
Para salvar os registros vencedores após a atualização da página, o LocalStorage foi usado para salvar os registros vencedores.
No começo, usei números aleatórios para obter o número diretamente. Descobri que era muito problemático eliminar os vencedores. Se você ligar repetidamente recursivamente, se houver muitos vencedores e a probabilidade de obter os vencedores é muito alta no final, então eu usei duas matrizes para implementá -lo. Um registrou o número vencedor e o outro registrou o número não destinado. Os vencedores foram eliminados da outra matriz, e não houve uma ligação recursiva.
A implementação específica é a seguinte:
var start = 1, fim = 20, LuckyList = [], FutureList = []; // Luckylist indica a pessoa que ganhou o prêmio, o FutureList indica a pessoa que ainda não ganhou a loteria, inicia, final indica o número de partida e final da loteria // inicialize a matriz de todas as pessoas (var i = start; A página é atualizada, restaure se (localStorage.getItem ("Lucky")) {LuckyList = localStorage.getItem ("Lucky"). Split (","); FutureList = FutureList.Filter (function (item) {return luckylist.IndExof (item) ==-1; uma função de números da sorte Raffle () {var num = math.random ()*futureList.length; num = math.floor (num); var idx = futureList.indexOf (num); var resultado = futureList.splice (idx, 1) [0] .ToString (); luckylist.push (resultado); localStorage.SetItem ("Lucky", Luckylist); console.log ("Lucky", resultado);} // Limpe o local, se você deseja redefinir o programa para executar essa função clear () {localStorage.SetItem ("Lucky", "");} Raffle ();O exemplo simples acima do JavaScript implementando o programa de loteria é todo o conteúdo que compartilhei com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.