بالأمس ، عندما كنت أعقد اجتماعًا سنويًا ، رأيت نكتة حول قرعة اليانصيب من VIPSHOP ، لكن الإدارة فازت بالجوائز التي كتبت إجراءات اليانصيب ، وقامت CTO بمراجعة الكود في الموقع.
لقد فكرت لفترة وجيزة في تنفيذ برنامج اليانصيب وقضيت أكثر من عشر دقائق في كتابته. المعرفة الرئيسية المستخدمة هي إضافة الصفيف والحذف ، وكذلك أساليب الفهرس والمرشح المضافة إلى صفيف ES5.
من أجل حفظ السجلات الفائزة بعد تحديث الصفحة ، تم استخدام LocalStorage لحفظ السجلات الفائزة.
في البداية ، استخدمت أرقام عشوائية للحصول على الرقم مباشرة. لقد وجدت أنه من المزعج للغاية القضاء على الفائزين. إذا اتصلت بشكل متكرر بشكل متكرر ، إذا كان هناك عدد كبير جدًا من الفائزين واحتمال الحصول على الفائزين في النهاية ، لذلك استخدمت صفيفتين لتنفيذها. سجل واحد الرقم الفائز والآخر سجل الرقم غير الملائم. تم القضاء على الفائزين من المصفوفة الأخرى ، ولم تكن هناك دعوة متكررة.
التنفيذ المحدد هو كما يلي:
var start = 1 ، end = 20 ، luckylist = [] ، futureList = [] ؛ تم تحديث الصفحة ، واستعادة إذا (localstorage.getItem ("Lucky")) {luckylist = localStorage.getItem ("Lucky"). split ("،") ؛ futureList = futureList.filter (function (item) {return luckylist.indexof (item) ==-1 ؛ Number Function Raffle () {var num = math.random ()*futureList.length ؛ num = math.floor (num) ؛ var idx = futurelist.indexof (num) ؛ var النتيجة = futurelist.splice (idx ، 1) [0] .ToString () ؛ Luckylist.push (result) ؛ localstorage.setItem ("Lucky" ، Luckylist) ؛ Clear () {localStorage.setItem ("Lucky" ، "") ؛} Raffle () ؛المثال البسيط أعلاه لـ JavaScript الذي ينفذ برنامج اليانصيب هو كل المحتوى الذي شاركته معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.