//随机生成一段要求的数字
function red(min,max){
return Math.ceil(Math.random()*(max-min+1)+min-1);
};
function redarr(min,max,long){
//声明一个空数组arr
var arr=[];
//控制数组长度
while(arr.length<long){
//在要求范围中抽取一个数
var red1=red(min,max);
//判断生成的随机数red1是否在数组arr里,如果不在,就将这个随机数添加到数组里,如果在,重复下一次循环
if(arr.indexOf(red1)==-1){
arr.push(red1);
};
};
//将抽取好的数组按照从下到大排列并输出
return arr.sort(function(a,b){return a-b});
};
由这个可以完成抽球问题
双色球
红球: 在1~33之间随机取6个,不能重复
蓝球: 在1~16之间随机取1个,可以和红球数字重复
把所取到随机放入到数组,其中前6个红球要进行从小到大的排序,蓝球要出现在最后
function red(min,max){
return Math.ceil(Math.random()*(max-min+1)+min-1);
};
function redarr(min,max,long){
var arr=[];
while(arr.length<long){
var red1=red(min,max);
if(arr.indexOf(red1)==-1){
arr.push(red1);
};
};
arr.sort(function(a,b){return a-b});
//最后随机抽取一个1~16的数字,并添加在数组的最后
var blue=Math.ceil(Math.random()*16);
arr.push(blue);
return arr;
};
console.log(redarr(1,33,6));