JAvascriptは重複しない乱数を生成する

3800 ワード

テーマの出所:慕授業でjQueryを勉強する過程でテスト問題があります.

   :
要素には、最後の
  • 要素、要素に「その他」の文字が表示されます。 「その他」のリンクをクリックすると、自身の内容が「簡略化」され、要素にすべての要素が表示する. 「簡略化」リンクをクリックすると、自身の内容が「より多く」となり、エレメントには最後のエレメントを含む5つのエレメントのみが表示される.
  • 要素をさらに含む5つの
  • 要素のみが表示される.
    コアポイント:彼はどの
  • 要素を隠す必要があるか言っていません.では、私は8つの
  • 要素をリストしたいと思っています.ポイントはランダムに隠す前の7つの
  • 要素のうち3つを簡略化します.
    考え方:
    ①0~6から3つの乱数を生成する.
    ②3つの乱数が等しいか否かを判断し、等しくない場合は隠蔽操作を行う.
    ③3乱数が重複している場合は、関数を再実行します.
    実装:0~6のランダム数を生成
    
       var ran1=parseInt(Math.random()*7); //Math.random()  [0,1)       
     

    完全なコード:
    
    
    
      
        
        
           
      
      
      
        
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7


  • $(function cli(){
    $("#btn").css("cursor","pointer");
    if($("#btn").html()==" "){
    var ran1=parseInt(Math.random()*7);
    var ran2=parseInt(Math.random()*7);
    var ran3=parseInt(Math.random()*7);//①0~6から3つの
    if(ran 1!=ran 2&&&ran 1!=ran 2&&&ran 2!=ran 3){//②3つの が しいかどうかを し、 しくないと を します.
    $('li:eq('+ran1+')').css('display','none');
    $('li:eq('+ran2+')').css('display','none');
    $('li:eq('+ran3+')').css('display','none');
    $("#btn").html("もっと");
    }else{//③3 が している は、 を します.
    cli();
    }
    }

    else{
    $("li:hidden").css('display','list-item');
    $(「a:contains('もっと").html(" ");
    }

    });

    
       var ran=parseInt(Math.random()*(max-min+1)+min); //    [min,max]         
     

    , [min,max] , n 。

       : n [min,max] , , , 。

       :http://jsbin.com/yupuyehuqa/edit?html,js,output

       :

    
    function my_ran(n,min,max){
     var arr=[];
     for(i=0;i 
     

       : i [min,max] , i-1 , , i=i-1; i 。

       :http://jsbin.com/zorunotosi/edit?html,js,output

       :

    
    function my_ran2(n,min,max){
     var arr=[];
     for(i=0;i 
     

       : [min,max] , , n 。

       :http://jsbin.com/zorunotosi/edit?html,js,output

       :

    
    function my_ran3(n,min,max){
     var arr=[];
     var arr2=[];
     for(i=0;i 
     

       : [min,max] , , , 。

       :http://jsbin.com/zorunotosi/edit?html,js,output

       :

    
    function my_ran4(n,min,max){
     var arr=[];
     var arr2=[];
     for(i=0;i 
     

    , 。

    , 。