Hogyan lehet generálni véletlenszerű egész számokat egy tartományon belül a JavaScript használatával. Math.floor - Megoldva

Gyors megoldás

function randomRange(myMin, myMax) { return Math.floor(Math.random() * (myMax - myMin + 1) + myMin); } 

Kód Magyarázat

  • Math.random() generálja a véletlen számunkat 0 és ≈ 0,9 között.
  • Megszorzása előtt feloldja a zárójelek közötti részt (myMax - myMin + 1)a csoportosítási operátor miatt (   ).
  • A szorzás eredményét összeadás követi, myMinmajd "kerekít" a kisebb vagy egyenlő legnagyobb egész számra (pl .: 9.9 9-et eredményezne)

Ha az értékek lennének myMin = 1, myMax= 10, az egyik eredmény a következő lehet:

  1. Math.random() = 0.8244326990411024
  2. (myMax - myMin + 1) = 10 - 1 + 1 -> 10
  3. a * b =  8.244326990411024
  4. c + myMin = 9.244326990411024
  5. Math.floor(9.244326990411024) = 9

randomRangemyMaxés mindkettőt használja myMin, és adjon meg egy véletlen számot a tartományban.

Nem felel meg a teszten, ha csak ourRandomRangea randomRangeképleten belüli funkciót használja újra . Meg kell írnia a saját képletét, amely a myMaxés a változókat használja myMin. Ugyanazt a munkát fogja végezni, mint a használat ourRandomRange, de biztosítja, hogy megértette a Math.floor()és a Math.random()funkciók alapelveit .