需要一个JavaScript代码,生成1--100之间的随机数一共一百个,每行显示10个数字,而且这
需要一个JavaScript代码,生成1--100之间的随机数一共一百个,每行显示10个数字,而且这个100个数字不能重复出现,代码如何写...
需要一个JavaScript代码,生成1--100之间的随机数一共一百个,每行显示10个数字,而且这个100个数字不能重复出现, 代码如何写
展开
2个回答
展开全部
就是生成无重复随机数了。我跟你说下原理,代码的话你自己就明白了。
每次生成一个随机数,再判断生成的随机数,是否存在于已经生成的随机数群组中,如果存在,则重复执行生成随机数这个动作。
这样就可以保证生成的随机数没有重复。而且位置也没有一定的规律。
我查了下手册,还有一个更简单的方法就是使用函数: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中不知道有没有这样的函数。
每次生成一个随机数,再判断生成的随机数,是否存在于已经生成的随机数群组中,如果存在,则重复执行生成随机数这个动作。
这样就可以保证生成的随机数没有重复。而且位置也没有一定的规律。
我查了下手册,还有一个更简单的方法就是使用函数: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中不知道有没有这样的函数。
展开全部
var a=[];
for(var i=1;i<=100;i++){
a.push(i);
}
a.sort(function(){
return Math.random()<.5?1:-1;
});
document.open();
document.write('<table><tr>');
for(var i=0;i<a.length;i++){
if(i&&(i%10==0)){
console.log(i);
document.write('</tr><tr>');
}
console.log(i);
document.write('<td>'+a[i]+'</td>');
}
document.write('</tr></table>');
document.close();
for(var i=1;i<=100;i++){
a.push(i);
}
a.sort(function(){
return Math.random()<.5?1:-1;
});
document.open();
document.write('<table><tr>');
for(var i=0;i<a.length;i++){
if(i&&(i%10==0)){
console.log(i);
document.write('</tr><tr>');
}
console.log(i);
document.write('<td>'+a[i]+'</td>');
}
document.write('</tr></table>');
document.close();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询