请使用Javascript生成10个20~200之间的随机数,要确保生成的随机数不重复. 5
展开全部
var arr=[];
function rec(r,i){
for(var j=0;j<i;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;i<arr.length;i++){
if(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;i<l;i++){
if(arr[i]==num){
exists = true;
}
}
if(!exists){
arr.push(num);
}
}
arr.sort(function(a,b){
return a-b;
});
console.log(arr.join(","));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询