昨日、私が年次総会を開催していたとき、私はVIPSHOPの宝くじの描画について冗談を言ったが、賞品は宝くじ手続きを書いた部門によって獲得され、CTOは現場でコードをレビューした。
私は宝くじプログラムの実施について簡単に考え、10分以上書きました。使用される主な知識は、Arrayの追加と削除、およびES5アレイに追加されたインデックスとフィルターメソッドです。
ページを更新した後に勝利記録を保存するために、LocalStorageを使用して勝利レコードを保存しました。
最初は、乱数を使用して数値を直接取得しました。勝者を排除することは非常に厄介であることがわかりました。繰り返し再帰的に電話をかけると、勝者が多すぎて勝者を獲得する確率が最終的に高すぎる場合、2つの配列を使用して実装しました。 1人は勝者数を記録し、もう1人は無意識の数を記録しました。受賞者は他のアレイから排除されたばかりで、再帰的な呼び出しはありませんでした。
特定の実装は次のとおりです。
var start = 1、end = 20、luckylist = []、futurelist = []; // luckylistは賞を獲得した人を示します。先物は、まだ宝くじに勝っていない人を示します。更新されます、if(localstorage.getitem( "lucky")){luckylist = localstorage.getitem( "lucky")。split( "、"); futureList = futureList.filter(item){return lackylist.indexof(item)== -1;} number function raffle(){var num = math.random()*futurelist.length; num = math.floor(num); var idx = futureList.indexof(num); var result = futurelist.splice(idx、1)[0] .toString(); luckylist.push(result); localstorage.setItem( "lucy"、luckylist); console.log( "lucy"、result);} // clear localstorge、この機能機能を実行するためにプログラムをリセットしたい場合は、clear localstorge clear(){localStorage.setItem( "lucy"、 "");} raffle();宝くじプログラムを実装するJavaScriptの上記の簡単な例は、私があなたと共有したすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。