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()一章节。

一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu

回复

我来回复
  • 暂无回复内容