【发布时间】:2018-10-18 18:12:40
【问题描述】:
我正在制作一个随机票生成器,它询问范围,当按下按钮时会在该数字范围内生成一个随机数。 代码遗漏了一个重要部分:生成的数字不能重复。 可能 Math.random 中使用 list 也是错误的。
function random_number() {
var list = [];
var range = document.getElementById('range').value;
for (var i = 1; i <= range; i++) {
list.push(i);
}
var random = Math.floor(Math.random(list) * range) + 1;
if (document.getElementById('display').innerText = random) {}
}
<input id="range" type="text">
<br/>
<button onclick="random_number()" "delete_number()" class="button"> <span id="display"></span> </button>
【问题讨论】:
-
创建一个数字数组。洗牌阵列。弹出数字直到 array.length == 0
-
因为它们根本不能在字符串中重复 (
01234567890) 或者因为它们不能在彼此之后重复 (01234566789)? -
使用这个的设计有点搞笑。不确定是否只是因为它是示例代码,但是如果范围发生变化,您是否会重置随机数列表?我在那里看不到监听器,因此很难使用提供的 UI 编写代码来做你想做的事情。
标签: javascript random