<script> var a=new Array(); var b=new Array(); var num=0; var end=5;//输出5个 for(i=0;i<50;i++){ var tmp=Math.round(Math.random()*50); if(!a[tmp]){ a[tmp]=true; b[num]=tmp+50; document.write(b[num]+"<br>"); num++; } if(num>=end) i=50; } </script>
<script> var a=new Array(5); var num=0; var end=5;//输出5个 for(i=0;i<5;i++){ var tmp=Math.round(100*Math.random()+50); for(j=0;j<i;j++){ if(a[j]!=tmp) a[i]=tmp; } } </script>
这个算法更好点: <script> var b=new Array(); var end=5;//输出5个 for(i=0;i<end;i++){ b[i]=Math.round(Math.random()*50)+50; for(j=0;j<i;j++){ if(b[j]==b[i]){i--;j=i;} } } </script>
<script>
var a=new Array();
var b=new Array();
var num=0;
var end=5;//输出5个
for(i=0;i<50;i++){
var tmp=Math.round(Math.random()*50);
if(!a[tmp]){
a[tmp]=true;
b[num]=tmp+50;
document.write(b[num]+"<br>");
num++;
}
if(num>=end) i=50;
}
</script>
這樣可以産生一個.你要産生五個不同的,這裏提供一點思路,在産生第二個的時候,就和第一個比較是否相同....第三個就和前兩個比較...
var a=new Array(5);
var num=0;
var end=5;//输出5个
for(i=0;i<5;i++){
var tmp=Math.round(100*Math.random()+50);
for(j=0;j<i;j++){
if(a[j]!=tmp) a[i]=tmp;
}
}
</script>
<script>
var b=new Array();
var end=5;//输出5个
for(i=0;i<end;i++){
b[i]=Math.round(Math.random()*50)+50;
for(j=0;j<i;j++){
if(b[j]==b[i]){i--;j=i;}
}
}
</script>
var b=new Array();
var end=5;
for(i=0;i<end;i++){
b[i]=Math.round(Math.random()*50)+50;
document.write(b[i] + "<br>")
for(j=0;j<i;j++){
if(b[j]==b[i]){i--;j=i;}
}
}
for(i=0;i<b.length;i++){document.write("---" + b[i] + "<br>")};
</script>不赖,,收了,哈哈
var end=5;//输出个数
var b=new Array(51);//0~50个数字
var i,tmp,rnd;
for(var j=0;j<b.length;j++){
b[j]=j+50;//生成数组内容
}
i=b.length;
while(i>0){//洗牌
rnd=Math.floor(Math.random()*i);
tmp=b[i-1];
b[i-1]=b[rnd];
b[rnd]=tmp;
i--;
}for(var j=0;j<end;j++){//输出显示
document.write(b[j]+"<br>");
}
</script>