var arr=[];
function rec(r,i){
for(var j=0;j if(r==arr[j]){
r=Math.floor(Math.random()*(200-20+1)+20);
rec(r,i);
break;
}
}
if(j==i){
arr.push(r);
}
}
function random(){
for(var i=0;i<10;i++){
var r=Math.floor(Math.random()*(200-20+1)+20);
i==0&&arr.push(r);
if(i>0){
rec(r,i);
}
}
console.log(arr);
}
random();
运用了递归排除重复的可能,10个数重复的可能性很小,你可以生成更多数测试,是不会出现重复数字的
生成的10个随机数
生成的30个随机数
var count = 200;
var arr = new Array;
//把20~200赋给一个数组
for (var i = 20; i <= count; i++) {
arr[i] = i;
}
//数组打撒,无序排列
arr.sort(function () { return 0.5 - Math.random(); });
//取出前10个数组的值
for (var i = 0; i < 10; i++) {
alert(arr[i]);
}
var arr = [];
while(arr.length < 10){
var bFlag = true;
var number = Math.floor(Math.random()*181 + 20);
if(arr.length == 0){
arr.push(number);
}
for(var i=0;iif(number == arr[i]){
bFlag = false;
}
}
if(bFlag){
arr.push(number);
}
}
console.log(arr);
function randomNumber(n){
var out = [];
for(var i =0; i < n ; i++){
var num = 20|( (Math.random()*200)|0)
if(out.indexOf(num)==-1)
out.push(num)
else
i--;
}
return out;
}
console.log(randomNumber(10))
var arr = new Array();
while(arr.length < 10){
var num = Math.round(180*Math.random()) + 20;
var exists =false;
for(var i=0,l=arr.length;iif(arr[i]==num){
exists = true;
}
}
if(!exists){
arr.push(num);
}
}
arr.sort(function(a,b){
return a-b;
});
console.log(arr.join(","));