เคล็ดลับที่เป็นประโยชน์

การสร้างตัวเลขสุ่มในจาวาสคริปต์

Pin
Send
Share
Send
Send


การสร้างตัวเลขสุ่มแบบเศษส่วนสามารถทำได้โดยใช้ฟังก์ชั่นด้านล่าง:

ฟังก์ชั่นนี้ใช้เวลาสองข้อโต้แย้ง แรกคือหมายเลขสุ่มขั้นต่ำและที่สองคือสูงสุด

ตัวอย่างเช่นหากคุณระบุ - getRandomArbitrary (1, 10) ดังนั้นคุณจะได้ตัวเลขในพื้นที่ 1 และ 10 ซึ่งจะมีลักษณะเช่นนี้ - 5.63726842 หรือเช่นนี้เป็น 9.27647264 เป็นต้น

หากคุณต้องการจำนวนเต็มให้ดูฟังก์ชันด้านล่าง

วิธีสร้างหมายเลขสุ่มใน JavaScript

ตัวเลขสุ่มมักใช้ในกรณีเช่นเช่น ไม่สำคัญ ปัญหาเกี่ยวกับวิธีการ คณิตศาสตร์.random ()ซึ่งเราจะใช้คือมันสร้างตัวเลขทศนิยมที่ยาวและไร้ค่าเกือบเป็นรูปแบบ 0.77180239201218795 ที่นี่คุณจะได้เรียนรู้วิธีการใช้วิธีการอื่นของวัตถุ คณิตศาสตร์ เพื่อรับจำนวนเต็มในช่วงที่กำหนด

บทความสันนิษฐานว่าคุณคุ้นเคยกับ HTML และ JavaScript ดีพอที่จะทำตามคำแนะนำในบทความ ถ้าไม่มีมีหลายเว็บไซต์ที่คุณสามารถรับการฝึกอบรมได้ ด้วยความพยายามเพียงเล็กน้อยคุณสามารถกลับมาที่บทความนี้หลังจากผ่านไประยะหนึ่ง

รุ่นพื้นฐาน

วิธีที่ง่ายที่สุดในการรับหมายเลขแบบสุ่มคือด้วยวิธีการ คณิตศาสตร์.random ()สร้างขึ้นใน จาวาสคริปต์.

คณิตศาสตร์.random () ส่งกลับตัวเลขทศนิยมระหว่าง 0 ถึง 1 เสมอ

ในทางเทคนิคจำนวนที่คุณได้รับอาจเป็น 0 แต่จะไม่เท่ากับ 1 อย่างแน่นอน

มันถูกใช้บ่อยพอ คณิตศาสตร์.random () ใส่ในฟังก์ชั่น

ฟังก์ชั่น getRandom () <
return Math.random ()
>

แน่นอนว่าปัญหาคือฟังก์ชั่นจะสร้างตัวเลขสุ่มในช่วงที่ จำกัด สูตรอาหารอื่น ๆ ส่วนใหญ่ในหน้านี้ได้รับการออกแบบมาเพื่อแก้ไขปัญหานี้

การสร้างระหว่างตัวเลข: ค่าต่ำสุดและค่าสูงสุด

ในการเพิ่มฟังก์ชั่นนี้เราจำเป็นต้องมีคณิตศาสตร์สักเล็กน้อย

ฟังก์ชัน getRandomFloat (ต่ำสุด, สูงสุด) <
ส่งคืน Math.random () * (สูงสุด - นาที) + นาที
>
getRandomFloat (11, 101)
> 75.31898734299466

ฟังก์ชั่น getRandomInt (ขั้นต่ำสูงสุด) <
return Math.floor (Math.random () * (สูงสุด - นาที)) + นาที,
>

getRandomInt (10, 20)
> 12

พลิกเหรียญ (สุ่มจริงหรือเท็จ)

หากคุณต้องการรับเพียง 0 หรือ 1 ให้ใช้รหัสต่อไปนี้:

ฟังก์ชั่น coinToss () <
return Math.floor (Math.random () * 2)
>
coinToss ()
> 0

หากคุณต้องการโดยเฉพาะ จริง หรือ เท็จ

ฟังก์ชั่น coinToss () <
return (Math.floor (Math.random () * 2) === 0)
>
coinToss ()
> จริง

หากคุณต้องการเชื่อมโยงคำใด ๆ กับด้านข้างของเหรียญ

ฟังก์ชั่น coinFlip () <
return (Math.floor (Math.random () * 2) === 0)? "ขึ้น": "ลง",
>
coinToss ()
> ขึ้น

ฟังก์ชั่นที่ถูกต้องแบบสุ่ม

ดังที่คุณเห็นจากตัวอย่างด้านบนมันจะเป็นการดีถ้าสร้างฟังก์ชันสุ่มที่ถูกต้องเพื่อใช้สำหรับเป้าหมายจำนวนเต็มแบบสุ่มทั้งหมด

ฟังก์ชั่นจาวาสคริปต์ส่งคืนตัวเลขสุ่มระหว่างจำนวนนาที (รวม) และสูงสุด (ยกเว้น):

ฟังก์ชัน JavaScript ส่งคืนตัวเลขสุ่มระหว่าง min และ max (รวมทั้งคู่):

การสร้างข้อยกเว้น

สำหรับช่วงจำนวนเต็ม จำกัด : สร้างอาร์เรย์ของตัวเลขที่คุณต้องการวาดแล้วเลือกสุ่มจากมัน

var numPool =,
rand = numPool [Math.floor (Math.random () * numPool.length)],

สำหรับสิ่งที่มีพลวัตมากขึ้น: เพิ่มอาร์เรย์ของจำนวนเต็มที่คุณต้องการยกเว้นและอาร์เรย์ว่างที่จะมีผลลัพธ์ของการกรองอาร์เรย์แรกลงในสอง

var numPool =,
varludePool =,
var filteredPool = [],

จากนั้นสร้างการวนซ้ำผ่านอาร์เรย์ numPoolตรวจสอบว่ามีตัวเลขสุ่มในอาร์เรย์ข้อยกเว้น excludePoolและใส่ผลลัพธ์ในอาร์เรย์ filteredPool:

สุดท้ายให้แสดงตัวเลขสุ่มจากอาร์เรย์ที่กรอง

var rand = filteredPool [Math.floor (Math.random () * filteredPool.length)],

การสร้างหมายเลขสุ่มไม่ซ้ำ

สำหรับชุดตัวเลขขนาดเล็ก: สร้างอาร์เรย์ที่เต็มไปด้วยองค์ประกอบแล้วสุ่มเลือกใส่ผลลัพธ์ในอาร์เรย์ใหม่จากนั้นรับองค์ประกอบที่สับแล้วหนึ่งครั้ง:

var numPool =,

function shuffle (numPool) <
สำหรับ (var j, x, i = numPool.length, i, j = parseInt (Math.random () * i), x = numPool [- i], numPool [i] = numPool [j], numPool [j ] = x),
ส่งคืน numPool
>,
var randomResult = สับเปลี่ยน (numPool)
ในขณะที่ (randomResult.length> 0) <
console.log (randomResult.pop ())
>

สำหรับชุดตัวเลขขนาดใหญ่: สร้างและเติมอาเรย์ด้วยจำนวนเต็มแบบสุ่มปฏิเสธสิ่งที่สร้างขึ้นก่อนหน้านี้:

var numReserve = []
ในขณะที่ (numReserve.length

ในรหัสด้านบน numReserve เต็มไปด้วย 12 ตัวเลขสุ่มระหว่าง 0 และ 1,000 จากนั้นตัวเลขสามารถหาได้จากอาเรย์

การอ่านรหัส

วิธีการทั้งหมดที่แสดงด้านบนจะไม่เพียงพอในการสร้างฟังก์ชั่นที่ปลอดภัยด้วยการเข้ารหัส สำหรับสิ่งนี้เราสามารถใช้ API การเข้ารหัสของเว็บโดยการสร้างอาร์เรย์ที่พิมพ์:

var cryptoStor = new Uint16Array (8),

ในกรณีนี้เราสร้างอาร์เรย์ที่มี 8 ช่องที่แตกต่างกันซึ่งแต่ละรายการสามารถมีจำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อ ตัวเลือกอื่น ๆ ได้แก่ Int8Array, Uint8Array, int16Array, Int32Array และ Uint32Array.

ตอนนี้เติมอาร์เรย์ด้วยตัวเลขสุ่มของบางประเภท

ค่าที่เลือกจะแสดงในคอนโซล:

> [43484, 57947, 46691, 49849, 24272, 11827, 28203, 17423]

API การเข้ารหัสของเว็บ มันมีการสนับสนุนที่ดีในเบราว์เซอร์ที่ทันสมัยแม้ว่าบางอย่างจะต้องมีคำนำหน้า

การทำสำเนาของวัสดุที่ได้รับอนุญาตเท่านั้นโดยมีข้อบ่งชี้ของผู้เขียน (Mikhail Rusakov) และการเชื่อมโยงโดยตรงกับการจัดทำดัชนีไปยังเว็บไซต์ (http://myrusakov.ru)!

เพิ่มฉันเป็นเพื่อน VKontakte: http://vk.com/myrusakov
หากคุณต้องการให้การประเมินแก่ฉันและงานของฉันให้เขียนในกลุ่มของฉัน: http://vk.com/rusakovmy

หากคุณไม่ต้องการที่จะพลาดวัสดุใหม่ในเว็บไซต์
จากนั้นคุณสามารถ สมัครสมาชิกเพื่อรับการปรับปรุง: สมัครสมาชิกเพื่อรับการปรับปรุง

หากคุณมีคำถามใด ๆ หรือคุณมีความปรารถนาที่จะพูดเกี่ยวกับบทความนี้คุณสามารถแสดงความคิดเห็นได้ที่ด้านล่างของหน้า

แนะนำบทความนี้ให้เพื่อน:

หากคุณชอบเว็บไซต์นี้ให้โพสต์ลิงก์ (ในเว็บไซต์ของคุณในฟอรัมติดต่อ):

ดูเหมือนว่านี้:

  • รหัส BB ของลิงก์สำหรับฟอรัม (ตัวอย่างเช่นคุณสามารถใส่ไว้ในลายเซ็นได้):
  • ความคิดเห็น (4):

    ยินดีต้อนรับ! คำถามสามารถอยู่นอกหัวข้อได้หรือไม่?

    แน่นอนคุณสามารถ! แต่ขอให้โปรดไปที่บริการสนับสนุน: http://support.myrusakov.ru/

    ขอขอบคุณ! ครั้งต่อไปตอบ javascript.ru แล้ว

    ที่ดี! ดีใจสำหรับคุณ!

    คุณต้องเข้าสู่ระบบเพื่อเพิ่มความคิดเห็น
    หากคุณยังไม่ได้ลงทะเบียนบนเว็บไซต์ให้ลงทะเบียนก่อน

    ลิขสิทธิ์© 2010-2019 Rusakov Mikhail Yuryevich สงวนลิขสิทธิ์

    ตัวอย่าง 10 อันดับแรก

    SchoolsW3 ได้รับการปรับให้เหมาะสำหรับการฝึกอบรมการทดสอบและการฝึกอบรม ตัวอย่างลดความซับซ้อนและปรับปรุงการอ่านและความเข้าใจพื้นฐาน ตำราหนังสืออ้างอิงตัวอย่างมีการปรับปรุงอย่างต่อเนื่องเพื่อหลีกเลี่ยงข้อผิดพลาดมันเป็นไปไม่ได้ที่จะรับประกันความถูกต้องของเนื้อหาทั้งหมด โดยการใช้เว็บไซต์นี้คุณตกลงที่จะอ่านและยอมรับข้อกำหนดการใช้งานคุกกี้และนโยบายความเป็นส่วนตัว ลิขสิทธิ์ 1999-2019 สงวนลิขสิทธิ์
    มันทำงานในรูปแบบของ W3.CSS

    ตัวเลขทั้งหมด

    ในการสร้างจำนวนเต็มใน JavaScript คุณสามารถใช้ฟังก์ชั่นด้านล่าง:

    ฟังก์ชั่นนี้ใช้ค่าเดียวกันกับฟังก์ชั่นด้านบน ความแตกต่างเพียงอย่างเดียวก็คือมันจะส่งกลับจำนวนเต็มแบบสุ่ม

    ตัวอย่างเช่นหากคุณต้องการตัวเลขสุ่มระหว่าง 50 ถึง 100 คุณจะได้รับดังนี้: getRandomInt (50, 100) และสิ่งนี้จะคืนค่าเป็นจำนวนเต็ม (เช่น: 55 หรือ 90 เป็นต้น)

    ดูวิดีโอ: javascript random color จาวาสครป แรมดอม ส เปลยนไปเรอยๆ (มีนาคม 2020).

    Pin
    Send
    Share
    Send
    Send