获取两个数之间的随机数,面试会有考!
前端时间,一同事去面试,信心满满的回来,我询问有啥考题?
他说:写出一段代码,求m-n之间的随机数。
我脑海立马就出现了这个Math.random()
介绍
var random = Math.random() :随机出一个0-1之间(不包含1)的小数
以此类推:
1.随机出一个0-10之间(不包含10)的小数:
Math.random() * 10 = [0,10]
-
随机出一个1-10之间(不包含10)的小数
(Math.random() * 10) +1 = [1, 10]
总结:
随机出 min(包含)~ max(不包含)之间的数字
(Math.random() * (max-min)) + min = [min, max)
如:随机出2-8之间的数字
(Math.random()*6)+2
随机出 min(包含)~ max(包含)之间的整数:
(Math.random() * (max-min+1)) + min = [min,max]
如:随机出2-8之间的整数,包含8
Math.floor((Math.random()*7)+2)
为了方便取数,我们将取随机数封装入一个函数,可以去到任意区间的整数
//封装函数,取n-m之间的随机整数
function rand(n,m){
return Math.floor(Math.random()*(m-n+1))+n;
}