写一个函数,返回从min到max之间的随机整数,包括min不包括max
这个题目我自己写的时候,考虑的很周全,所有可能出现的情况都考虑到了,代码如下:
<script>
function num(min,max){
var randomNum
if(min<0&&max<0){
randomNum=Math.floor(Math.random()*Math.abs((max+min))-Math.abs(min));
}else if(min===0&&max===0){
randomNum=0;
}else if(min<0&&max>0){
randomNum=Math.floor(Math.random()*(max+Math.abs(min))+min);
}else if(min<0&&max===0){
randomNum=Math.floor(Math.random()*min);
}else if(min===0&&max>0){
randomNum=Math.floor(Math.random()*max);
}else if(min>0&&min<10&&max<10){
randomNum=Math.floor(Math.random()*(max-min)+min);
}else if(min>=10){
randomNum=Math.floor(Math.random()*(max-min)+min);
}
console.log(randomNum);
}
</script>
最后都没能提炼出公式
看了其他人的做法:
function getRandom(min,max){
var numb;
numb = Math.floor(min + Math.random()*(max - min));
return numb;
}
console.log(getRandom(1,4));
代码非常简洁,而且包含了所有情况