ตัวเลขสุ่มใน JavaScript
ตัวเลขสุ่มมีประโยชน์หลายอย่างตั้งแต่ความสนุกไปจนถึงการใช้งานจริง เกมส่วนใหญ่เกี่ยวข้องกับการสุ่มในรูปแบบของสิ่งต่าง ๆ เช่นลูกเต๋าหรือไพ่แบบสับ หากคุณต้องการแสดงคำพูดแบบสุ่มเมื่อมีคนเยี่ยมชมหน้าของคุณคุณต้องมีแหล่งที่มาของการสุ่ม ตัวเลขสุ่มไม่ใช่ความสนุกและเกมทั้งหมดมีการใช้ตัวเลขสุ่มในการเข้ารหัสสำหรับการสุ่มตัวอย่างการสร้างแบบจำลองและการเรียงลำดับแบบสุ่ม (เช่นผู้สมัครในการลงคะแนน) การใช้งานบางอย่างไม่ใช้ตัวเลขโดยตรง แต่คุณสามารถแปลงจากตัวเลขสุ่มเป็นสิ่งของสุ่มได้โดยใส่สิ่งที่คุณต้องการเลือกในแถวและเลือกแถวแบบสุ่ม ในการเขียนโปรแกรมอาร์เรย์ทำงานได้ดีกับสิ่งนี้ ตัวเลขสุ่มไม่ได้สุ่มอย่างแท้จริงเสมอไป หากคุณหมุนลูกเต๋าที่เป็นธรรมคุณจะได้รับตัวเลขสุ่มอย่างไรก็ตามวิธีการที่คอมพิวเตอร์ใช้ในการเลือกตัวเลขสุ่มมักเป็นตัวเลขสุ่มหลอกซึ่งหมายความว่าพวกเขาดูเหมือนจะสุ่มบนพื้นผิว แต่พวกเขาสามารถคาดเดาได้จริงหรือ ซีรี่ส์ซ้ำ สำหรับบางสิ่งนี่ไม่ใช่ความแตกต่างที่สำคัญ หากคุณแสดงคำพูดแบบสุ่มหรือเรื่องตลกทุกครั้งที่มีคนโหลดหน้าเว็บของคุณมันอาจไม่สำคัญว่าใครบางคนสามารถทำนายได้ว่าเมื่อใดที่ข้อความเฉพาะนั้นปรากฏขึ้นและคุณสามารถใช้ตัวเลขหลอกแบบสุ่มได้อย่างปลอดภัย เพียงแสดงคำพูดของคุณตามลำดับที่คุณเขียนลงไป) หากคุณกำลังพยายามทำการทดสอบยาเสพติดแบบสุ่มของนักกีฬาตูร์เดอฟรองซ์มันเป็นสิ่งสำคัญที่นักกีฬาไม่สามารถทำนายได้ว่าจะทำการทดสอบหรือไม่

ออบเจ็กต์ JavaScript Math มีวิธีการที่ให้ตัวเลขสุ่มหลอก แตกต่างจากภาษาการเขียนโปรแกรมอื่น ๆ จาวาสคริปต์ไม่อนุญาตให้คุณสร้างตัวสร้างตัวเลขด้วยการสุ่มของคุณ การใช้งานที่แตกต่างกันนั้นแตกต่างกันไปในการสุ่มตัวเลขที่ให้มาอย่างแท้จริง แต่โดยทั่วไปแล้วพวกมันควรจะดีพอที่จะใช้เพื่อความสนุกสนานหรือการใช้ศิลปะ แต่ถ้าคุณต้องการตัวเลขสุ่มสำหรับวัตถุประสงค์ที่ถูกต้องตามกฎหมายหรือเพื่อความปลอดภัย สุ่ม Math.random () เมธอดส่งคืนตัวเลขสุ่มที่เป็น 0 หรือระหว่าง 0 และ 1 บางเวอร์ชันของเบราว์เซอร์ Opera มีการทำงานที่ไม่ได้มาตรฐาน Math.random () วิธีการที่จะให้ผลตอบแทนน้อยมาก 1. คุณต้องจัดการกับผลลัพธ์ที่ไม่คาดคิด - คำแนะนำที่ง่ายที่สุดที่ฉันเคยเห็นคือการใช้ตัวดำเนินการแบบโมดูโลกับค่าที่ส่งคืนโดย Math.random ()นี่จะคืนค่าเดิมถ้าตัวเลขสุ่มอยู่ในช่วงที่กำหนดและ 0 ถ้าคุณได้ 1 นอกจากนี้ฉันพบว่าฉันไม่ต้องการทศนิยมแบบสุ่มน้อยกว่าหนึ่ง แต่เป็นจำนวนเต็มแบบสุ่ม ในการรับจำนวนเต็มแบบสุ่มคุณต้องคูณค่าจาก Math.random () ตามจำนวนของตัวเลขสุ่มที่คุณต้องการ (X) และค้นหาจำนวนเต็มก่อนหน้าหรือถัดไป วัตถุทางคณิตศาสตร์มีวิธีการปูพื้นและเพดานที่คุณสามารถใช้เพื่อจุดประสงค์นี้ ถ้าคุณใช้การ Math.Floor () วิธีการคุณจะได้รับหมายเลขตั้งแต่ 0 ถึง (X-1) หากคุณใช้ Math.Ceiling () วิธีการที่คุณจะได้รับจำนวนเต็มตั้งแต่ 1 ถึง X

หากต้องการค้นหาตัวเลขสุ่มระหว่าง 0 ถึง (X-1) ให้ใช้:

Math.floor ((Math.random ()% 1) * X)

สิ่งเหล่านี้มีประโยชน์อย่างยิ่งสำหรับการค้นหาองค์ประกอบอาเรย์แบบสุ่ม

ในการหาตัวเลขสุ่มระหว่าง 1 ถึง X ให้ใช้:

Math.ceiling ((Math.random ()% 1) * X)

งานเช่นนี้ซึ่งค่อนข้างธรรมดา แต่ต้องการการพิมพ์ค่อนข้างน้อยก็เป็นตัวเลือกที่ดีสำหรับการเปลี่ยนเป็นฟังก์ชั่น

สำหรับการสนทนาเกี่ยวกับความแตกต่างระหว่างตัวเลขสุ่มอย่างแท้จริงและตัวเลขสุ่มหลอกที่เราใช้ที่นี่แหล่งที่มาของตัวเลขสุ่มอย่างแท้จริงและตัวอย่างของสิ่งสนุก ๆ ที่คุณสามารถทำได้ด้วยตัวเลขสุ่มหรือหลอกสุ่มดูที่ www.random org