js随机数生成1到100整数,编程实现随机生成10个1~100之间的整数
我想用JavaScript生成1到100之间的100个不能重复的随机数,不需要排序,只生成100个不
var getRandomArray = function() {
var i = 0,
s = '',
sp = ',',
next;
while (i 100) {
// 产生1-100的随机数
next = Math.random() * 100 + 1;
// 判断产生的数是否在随机数字符串里
if (s.indexOf(next) === -1) {
// 不存在
// 则加上这条
s += next + sp;
// 并且记数器加1
i++;
}
// 否则记数器不加1,继续循环
}
// 最后得到的是xx,xx,形式的字符串
// 因为split函数会保留最后一个分隔符后的数
// 所以通过slice(0,-1)去掉最后一个字符(也就是,号)
// 这样99个分隔符拼成的字符串就会被,号分割
// 成100个随机数组了
return s.slice(0, -1).split(',');
}
alert(getRandomArray());
需要一个JavaScript代码,生成1--100之间的随机数一共一百个,每行显示10个数字,而且这
就是生成无重复随机数了。我跟你说下原理,代码的话你自己就明白了。
每次生成一个随机数,再判断生成的随机数,是否存在于已经生成的随机数群组中,如果存在,则重复执行生成随机数这个动作。
这样就可以保证生成的随机数没有重复。而且位置也没有一定的规律。
我查了下手册,还有一个更简单的方法就是使用函数:shuffle( array array )
该函数的作用是随机打乱一个数组。
这样就简单了,你先生成一个数组(1-100),然后使用此函数将数组随机打乱,这样就生成了无重复的随机数组。
以下代码亲测可行。
?php
$numbers = range(1,100);//生成1-100之间的数组。
srand((float)microtime()*1000000);//建立随机种子
shuffle($numbers);//打乱数组
$i=0;//换行标记
foreach ($numbers as $number) {//遍历数组
$i++;//标记自增
echo "$number ";//输出数值
if($i %10==0) echo "br";//如果输出10个则换行。
}
?
MD写完了,发现你问的是JS的,我回答的是PHP的,不过方法1是通用的。JS中不知道有没有这样的函数。
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个不重复)
参考资料:
百度百科--math.random()