我想生成1到59之间的随机彩票号码,其中显示7个号码。它们必须通过单击提交按钮来生成。我努力使它写入控制台日志,指出未定义随机数。
let lottoNum = [];
while (lottoNum.length < 7) {
let random = Math.floor(Math.random() * 59) + 1;
if (lottoNum.indexOf(random) === -1) lottoNum.push(random);
}
let btn = document.getElementById("Button");
button.addEventListener("click", function getNumbers() {
return random;
});
随机性未定义
答案 0 :(得分:0)
您很亲密,但是您应该研究范围。请尝试以下操作:
generateNumbers = () => {
let lottoNum = [];
while (lottoNum.length < 7) {
let random = Math.floor(Math.random() * 59) + 1;
if (lottoNum.indexOf(random) === -1) lottoNum.push(random);
}
return lottoNum;
}
let btn = document.getElementById("Button");
btn.addEventListener("click", function getNumbers() {
const nums = generateNumbers();
console.log(nums);
});
我已经将您的主代码放入一个函数中,并从所述函数中返回了它。从那里,我已经在您的点击监听器中调用了该函数并记录了它们。您可以在console.log
做任何您想做的事情。
之所以拥有“未定义的随机数”,是因为您在let random
循环中进行了while
。这意味着,不在while循环的{}
内的任何内容都不能随机读取。因此函数并返回:)