JS中,输出1-10之间的随机整数,用Math.random()咋搞呢
使用Math.floor(Math.random()*10+1)函数实现。
1、floor():返回小于等于x的最大整数。
2、函数返回一个浮点, 伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1)。实现将初始种子选择到随机数生成算法,它不能被用户选择或重置。
实例演示如下:
1、html代码如下,绑定生成函数:
2、函数代码如下:
2、随机演示效果如下:均为1-10之内的整数。
扩展资料:
生成不重复的10个随机数,可以用数组存储已经生成的数,新生成的数据若不在数组中就满足条件。
1、函数代码如下:
2、同理,绑定一个button用于测试:
2、演示:点击按钮直到产生10个数字。一次随机数据生产如下:(10个不重复)
参考资料:
JavaScript获取[n-m]之间的随机整数简单高效的方法:
var min = 5;
var max = 10;
var rand = Math.floor(Math.random()*(max-min+1))+min;
思路如下:
1. `Math.random() `取0-1之间的随机小数(float);
2. 然后再乘以 n-m 之间的数字个数`(max-min+1)`;
3. 然后两者相乘向下取整 `Math.floor(Math.random()*(max-min+1))`;
4. 最后再加上最小值即可:`Math.floor(Math.random()*(max-min+1))+min`。
下面是演示代码:
<script>
let min = 5;
let max = 15;
let randArr = [];
for(let i=0;i<100;i++) {
let rand = Math.floor(Math.random()*(max-min+1))+min;
randArr.push(rand)
}
console.log(randArr.join(','))
</script>
> Chrome运行结果
12,14,11,13,15,8,5,15,11,7,15,11,10,11,6,5,6,12,9,
11,11,7,14,14,15,10,13,7,14,14,5,15,5,10,9,5,6,13,5,
6,15,9,11,6,11,9,15,13,14,13,8,5,8,5,10,6,15,12,12,6,
11,10,15,5,13,9,14,7,5,7,11,9,15,10,8,10,11,8,7,
13,5,11,12,12,9,8,12,6,12,6,5,15,15,7,10,9,6,12,6,8
document.write(parseInt(10*Math.random())); //输出0~10之间的随机整数
document.write(Math.floor(Math.random()*10+1)); //输出1~10之间的随机整数
function RndNum(n){
var rnd="";
for(var i=0;i<n;i++)
rnd+=Math.floor(Math.random()*10);
return rnd;
}
document.write(RndNum(4)); //输出指定位数的随机数的随机整数
引用部分:
1. 从1开始 至 任意值parseInt(Math.random()*上限+1); 2. 从任意值开始 至 任意值parseInt(Math.random()*(上限-下限+1)+下限);
function fRandomBy(under, over){
switch(arguments.length){
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
}
}
document.write(fRandomBy(1,100)); //输出指定范围内的随机数的随机整数
</script>
2020-03-09
在Math里面有函数可以直接产生,不用自己写。
document.write(math.ceil(i*10)) //乘以10并向上去整