【发布时间】:2014-04-25 23:47:00
【问题描述】:
所以我知道这个任务已经被问过了,但是所有给出的答案我都已经知道了。我不想为所有可能的数字制作一个变量(这始终是答案)。所以要回答这个问题,我想制作一个随机数生成器,它会生成 7 个数字,它们一定不一样。例如,我得到随机数: "5,16,12,5,21,37,2" ...但我不想再次使用数字5,所以我想要不同的数字。我为一代做了一个代码,但我想不出任何好的方法/方法来做到这一点。我在想也许检查数字是否已经在数组中,如果是,则生成另一个数字,但由于我是 JavaScript 的业余爱好者,我不知道该怎么做。所以这是我的 JavaScript 代码:
// JavaScript 文档
function TableOn()
{
document.write("<table border='1'>");
}
function TableOff()
{
document.write("</table>");
}
function RandNum()
{
var n = new Array();
for(var i=0;i<7;i++)
{
n[i] = Math.round((1+(Math.random()*40)));
}
TableOn();
for(var c=0;c<7;c=c+1)
{
document.write("<tr><td>"+n[c]+"</td></tr>");
}
TableOff();
}
在 HTML 中,我只有一个按钮,即 onclick="RandNum()" ... 请原谅我的英语。
【问题讨论】:
-
为什么你不想枚举所有可能的值然后随机播放它们?如果您有与该方法相冲突的要求,没关系,但您必须解释它们,否则我们不知道真正的问题是什么。
-
我只是不想使用这种方法。如果我想要 7 个数字,最多可以达到 1000 个怎么办...继续写 1000 个数字...我相信这可以通过其他方式完成...
-
随心所欲,但如果你使用“检查重复”的方法并且值的范围接近值的数量,性能会很糟糕。
标签: javascript html arrays random