머리말:
JS에는 지정된 범위의 난수를 직접 생성할 수 있는 기성 함수가 없습니다.
하지만 Math.random() 함수가 있습니다. 이 함수는 [0,1)에서 난수를 생성할 수 있습니다.
이를 사용하면 지정된 범위 내에서 난수를 생성할 수 있습니다.
범위의 경우 경계값에 문제가 있습니다. 여기에는 네 가지 상황이 포함됩니다.
1) min ≤ r ≤ max (일반적으로 이것이 더 일반적임)
2) 최소 ≤ r
3) 최소
4) 최소
1. 최소 ≤ r ≤ 최대
function RandomNumBoth(Min,Max){ var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.round(Rand * Range); //四舍五入 return num; }
2.분 ≤ r <최대
function RandomNum(Min, Max) { var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.floor(Rand * Range); //舍去 return num; }
3.분 < r ≤ 최대
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. 분 < 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; } }
JS가 특정 범위에서 난수를 생성하는 것에 대한 위의 글[네 가지 상황에 대한 자세한 설명]은 모두 편집자가 공유한 내용이므로 참고가 되셨으면 좋겠습니다. Script Home에 대한 많은 지원 부탁드립니다.