เมื่อวานนี้เมื่อฉันมีการประชุมประจำปีฉันเห็นเรื่องตลกเกี่ยวกับการจับสลากของ Vipshop แต่รางวัลได้รับรางวัลจากแผนกที่เขียนขั้นตอนลอตเตอรีและ CTO ได้ตรวจสอบรหัสในเว็บไซต์
ฉันคิดสั้น ๆ เกี่ยวกับการใช้งานโปรแกรมลอตเตอรีและใช้เวลามากกว่าสิบนาทีในการเขียน ความรู้หลักที่ใช้คือการเพิ่มอาร์เรย์และการลบรวมถึง indexof และวิธีการกรองที่เพิ่มเข้ามาในอาร์เรย์ ES5
เพื่อที่จะบันทึกบันทึกที่ชนะหลังจากรีเฟรชหน้า LocalStorage ถูกใช้เพื่อบันทึกบันทึกที่ชนะ
ในตอนแรกฉันใช้หมายเลขสุ่มเพื่อรับหมายเลขโดยตรง ฉันพบว่ามันลำบากมากที่จะกำจัดผู้ชนะ หากคุณเรียกซ้ำ ๆ ซ้ำ ๆ หากมีผู้ชนะมากเกินไปและความน่าจะเป็นที่จะได้รับผู้ชนะสูงเกินไปในตอนท้ายดังนั้นฉันจึงใช้สองอาร์เรย์เพื่อนำไปใช้ หนึ่งบันทึกหมายเลขที่ชนะและอีกอันหนึ่งบันทึกหมายเลขที่ไม่ได้รับ ผู้ชนะถูกกำจัดออกจากอาเรย์อื่น ๆ และไม่มีการเรียกซ้ำ
การใช้งานเฉพาะมีดังนี้:
var start = 1, end = 20, luckylist = [], futureList = []; // luckylist ระบุว่าบุคคลที่ได้รับรางวัล, futureList หมายถึงบุคคลที่ยังไม่ได้รับรางวัลลอตเตอรี, เริ่มต้น, สิ้นสุดหมายถึงการเริ่มต้นและจุดสิ้นสุดของลอตเตอรี//เริ่มต้น หน้าจะได้รับการรีเฟรชคืนค่าถ้า (localstorage.getItem ("โชคดี")) {luckylist = localstorage.getItem ("โชคดี"). แยก (","); futureList = futureList.filter (ฟังก์ชั่น (รายการ) สร้างฟังก์ชั่น Lucky Number 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 (ผลลัพธ์); localstorage.setItem ("โชคดี", Luckylist); console.log ("โชคดี", ผลลัพธ์); Clear () {localstorage.setItem ("โชคดี", "");} raffle ();ตัวอย่างง่าย ๆ ข้างต้นของ JavaScript การใช้โปรแกรมลอตเตอรีคือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น