javascript機選雙色球彩票號碼程式碼例項

antzone發表於2017-04-08

本章節分享一段程式碼例項,它實現了生成隨機雙色球號碼的效果。

程式碼例項如下:

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

相關文章