当前代码给出了N
(输入值)数字,所有数字都低于N
,并以随机顺序在id="demo"
处丢弃数据-这很好;但我希望这些数字是完全随机的,因为它给了我一个更低的数字/包括N
(所以没有重复,只是一个随机顺序,直到N
)。
我该怎么写才能得到重复的?
<!DOCTYPE html>
<html>
<body>
<input id="input1" type="number" min=10" max="100" onchange="test();">
<p id="demo"></p>
<script>
function test() {
var N = document.getElementById("input1").value;
var arr = [];
while(arr.length < N){
var randomnumber = Math.ceil(Math.random()*N);
if(arr.indexOf(randomnumber) > -1) continue;
arr[arr.length] = randomnumber;
}
document.getElementById("demo").innerHTML = arr;}
</script>
</body>
</html>
具体回答你的问题:
删除
if(arr.indexOf(randomnumber) > -1) continue;
是一个检查重复的条件子句(在你的代码中)
edit2:也检查.innerHTML
分配-它可能会给你[Object object]
或[Array array]
编辑:我能问一下为什么这是难以捉摸的吗?