我需要一些帮助或建议,我试图将随机数限制为仅生成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--;
}
}
}
答案 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;
}