将随机数生成器限制为仅输出50个数字中的20个

时间:2018-10-23 02:50:00

标签: javascript arrays

我需要一些帮助或建议,我试图将随机数限制为仅生成50个数字中的20个,并且在按下/单击按钮时激活了该数字,有时我也会得到重复,而我会停止发生

function lottoNumbers()
    {
      var lottoNums = [];
      for(var i=0; i <1 ; i++)
      {
        var temp = Math.floor(Math.random() *50);
        if(lottoNums.indexOf(temp) == -1)
        {
          lottoNums.push(temp);
          document.getElementById('circle'+i).innerHTML = lottoNums[i];
        }
        else
        {
          i--;
        }
      }
    }

1 个答案:

答案 0 :(得分:0)

而不是使用for循环-而是使用 while 循环(即-当长度<20时),并且在执行操作时-仅在数字不存在的情况下才将其压入其中。

出于演示目的-我正在动态建立一个列表,然后将li的样式设置为具有边框半径的圆形;

  <files>
    <file src="<ThoseDllsPath>\*.dll" target="Build\" />
    <file src="TestDemo.targets" target="Build\" />
    <file src="bin\Debug\TestDemo.dll" target="lib\462" />
  </files>
lottoNumbers();


function lottoNumbers() {
  var lottoNums = [];
  var lottoNumStr = '';
  
  while(lottoNums.length <20) {
    var temp = Math.floor(Math.random() *50);
    if(lottoNums.indexOf(temp) == -1) {
      lottoNums.push(temp);
      lottoNumStr += '<li>' + temp + '</li>';
    }
  }
  
  document.getElementById('lottoNumList').innerHTML = lottoNumStr;
}
#lottoNumList {
  list-style: none;
}

#lottoNumList li {
 border: solid 1px #d4d4d4;
 border-radius: 50%;
 display: inline-block;
 margin: 5px;
 padding: 4px;
 width: 30px; 
 height: 30px;
 line-height: 30px;
 text-align: center;
}