Vorwort:
JS verfügt nicht über eine vorgefertigte Funktion, die Zufallszahlen in einem bestimmten Bereich direkt generieren kann.
Aber es hat eine Funktion: Math.random() Diese Funktion kann eine Zufallszahl in [0,1) generieren.
Damit können wir Zufallszahlen innerhalb eines bestimmten Bereichs generieren.
Bei der Reichweite gibt es ein Problem der Grenzwerte. Dazu gehören vier Situationen:
1) min ≤ r ≤ max (im Allgemeinen ist dies häufiger)
2) min ≤ r < max
3) min < r ≤ max
4) min < r < max
1. min ≤ r ≤ max
function RandomNumBoth(Min,Max){ var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.round(Rand * Range); //四舍五入 return num; }
2. min ≤ r < max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.floor(Rand * Range); //舍去 return num; }
3. min < r ≤ max
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); if(Math.round(Rand * Range)==0){ return Min + 1; } var num = Min + Math.round(Rand * Range); return num; }
4. min < r <
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); if(Math.round(Rand * Range)==0){ return Min + 1; }else if(Math.round(Rand * Max)==Max) { index++; return Max - 1; }else{ var num = Min + Math.round(Rand * Range) - 1; return num; } }