javascript机选双色球彩票号码代码实例
本章节分享一段代码实例,它实现了生成随机双色球号码的效果。
代码实例如下:
function ranNumber(s,e){ var staVal = parseFloat(s); var endVal = parseFloat(e); return Math.floor(Math.random()*(endVal-staVal)+staVal); } var redBall = new Array(); var redLen = redBall.length; while(redLen<6){ var ball = ranNumber(1,33); var flag = true; for(var j=0;j<redLen;j++){ if(redBall[j]==ball){ flag = false; break; } } if(flag){ if(ball<10){ redBall.push("0"+ball); } else{ redBall.push(ball); } } redLen = redBall.length; } redBall.sort(); var blueBall = ranNumber(1,16); if(blueBall<10){ blueBall = "0"+blueBall; } console.log(redBall.join(",") + "|" + blueBall);
上面的代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
(1).function ranNumber(s,e){
var staVal = parseFloat(s);
var endVal = parseFloat(e);
return Math.floor(Math.random()*(endVal-staVal)+staVal);
},上面的代码可以生成一个指定范围的随机数。第一个参数规定随机数的起始值,第二个参数是规定随机数的终止值。
(2).var redBall = new Array(),创建一个数组,用来存储红号。
(3).var redLen = redBall.length,获取数组元素的数目,其实这里的作用就是给变量redLen初始化值为0。
(4).while(redLen<6){},while循环语句,因为红号是6位的,所以这里要循环六次。
(5).var ball = ranNumber(1,33),生成一个1-33之间的随机数。
(6).var flag = true,将flag值设置为true,它作为一个标识,下面会用到。
(7).for(var j=0;j<redLen;j++){
if(redBall[j]==ball){
flag = false;
break;
}
},遍历数组中的每一个元素,然后比对生成的随机数是否和当前数组中的红号是否重复。
如果重复,那么就将flag值设置为false。
并跳出for循环。
(8).if(flag){
if(ball<10){
redBall.push("0"+ball);
}
else{
redBall.push(ball);
}
},如果flag为true,说明不重复。
如果是个位数,那么前面加0,并且存入数组,否则直接存入数组。
(9).redLen = redBall.length,获取数组的长度。
(10).redBall.sort(),对数组元素进行排序,因为sort()方法没有参数,那么效果就是从小到大排序。
(11).var blueBall = ranNumber(1,16),获取蓝号。
二.相关阅读:
(1).parseFloat()方法可以参阅parseFloat()方法一章节。
(2).Math.floor()方法可以参阅javascript Math.floor()一章节。
(3).Math.random()方法可以参阅javascript Math.random()一章节。
(4).push()方法可以参阅javascript push()一章节。
(5).sort()方法可以参阅javascript sort()一章节。
(6).join()方法可以参阅javascript join()一章节。