JSケースの8-1つの配列からの乱数

10166 ワード

最近プロジェクトの中で1つの需要に出会って、1つのリストの中からリストの一部の内容をランダムに展示して、需要は大きくなくて、JSもとても実現しやすいです.主にMathオブジェクトのrandomメソッドとArrayのspliceメソッドを用いた.
まず配列を新規作成し、すべてのリストを格納し、乱数を算出し、配列からこのランダムインデックスに対応する値を取り出し、ランダム配列を構成することを考えます.
 
ソースコードは次のとおりです.
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" Content="text/html; charset=utf-8;">
 5 <title>          </title>
 6 <meta name="author" content="rainna" />
 7 <meta name="keywords" content="rainna's js lib" />
 8 <meta name="description" content="js" />
 9 </head>
10 
11 <body>
12 <script>
13 //count           randomCount         
14 var selRandomNum = function(count,randomCount){  
15     var count = count || 10;
16     var randomCount = randomCount || 3;
17     
18     var totalArray = [],randomArray = [];
19     for(var i=0,l=count;i<l;i++){
20         totalArray.push(i);
21     }
22     for(var i=0,l=randomCount;i<l;i++){
23         var randomIndex = Math.floor(Math.random()*totalArray.length);
24         var selectIndex = totalArray.splice(randomIndex,1)[0];
25         randomArray.push(selectIndex);    
26     }
27     console.log(totalArray + '-----' + randomArray);
28 }
29 
30 selRandomNum();
31 </script>
32 </body>
33 </html>