例子写的,1-34不重复且从小到大排列,想要别的数字期间只要带n和m的值即可,这里提供三种方法:
第一种:
function rnd(n,m){
// return parseInt(Math.random()*33+1);尽量不用
return Math.floor(Math.random()*(m-n)+n);
}
function findInArr(n,arr){
for(var i=0;i<arr.length;i++){
if(arr[i]==n){
return true;
}
}
return false;
}
window.onload=function(){
var arr=[];
for(var i=0;i<arr.length;i++){
var n=rnd(1,34);
if(!findInArr(n,arr)){
arr.push(n);
}
}
arr.sort();
document.write(arr);
}
第二种,两个函数一样我就不重复写了,直接写window.onload的内容;
window.onload=function(){
var arr=[];
for(var i=0;i<7;i++){
var n=rnd(1,34);
if(findInArr(n,arr){
i--;}else{
arr.push(n);
}
}
arr.sort();
document.write(arr);
}
第三种:
window.onload=function(){
var n=rnd(1,34);
while(arr.length<7){
var n=rnd(1,34);
if(!findInArr(n,arr){
arr.push(n);}
}
arr.sort();
document.write(arr);
}
网友评论