Ako generovať náhodné celé čísla v rozsahu pomocou JavaScriptu Math.floor - vyriešené

Rýchle riešenie

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

Vysvetlenie kódu

  • Math.random() generuje naše náhodné číslo medzi 0 a ≈ 0,9.
  • Pred vynásobením to (myMax - myMin + 1)kvôli operátoru zoskupenia vyrieši časť medzi zátvorkami (   ).
  • Za výsledkom tohto násobenia nasleduje pridanie myMina potom „zaokrúhlenie“ na najväčšie celé číslo menšie alebo rovné tomuto (napr.: 9,9 by malo za následok 9)

Ak by tieto hodnoty boli myMin = 1, myMax= 10, jedným výsledkom by mohol byť tento:

  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

randomRangeby mali používať obidve myMaxa myMina vrátiť náhodné číslo vo vašom rozsahu.

Testom nemôžete vyhovieť, ak opakovane používate iba funkciu ourRandomRangevo svojom randomRangevzorci. Musíte si napísať vlastný vzorec, ktorý použije premenné myMaxa myMin. Bude to robiť rovnakú prácu ako pri používaní ourRandomRange, ale zabezpečí, že ste pochopili princípy funkcií Math.floor()a Math.random().