0到8之间的随机数JavaScript

时间:2016-02-25 01:02:23

标签: javascript html

我正在尝试生成0到8之间的40个随机数

这是我的代码 -

<body>
    <h1>This is a page for randomize number between 0 - 8 </h1> <br />

<button onclick="randomize()">Random number</button>

<p id="Output"></p>

<script>
function randomize() {

    var arr = []
while(arr.length < 40){
  var randomnumber=Math.floor((Math.random() * 8) + 1)
  arr.push(randomnumber) 
}
document.getElementById("Output").innerHTML = arr;
}
</script> 
</body>

我期待40个随机数输出像 -

4
4
5
7
8
1
5
7

我做错了可以请某人纠正我,我也希望下一行输出结果!

有人可以帮忙!

3 个答案:

答案 0 :(得分:2)

a)如果您乘以8,则会得到从07的数字。

b).innerHTML = arr.join('<br>')应该为您提供所需的输出。

答案 1 :(得分:2)

您的代码已经有效,只有广告换行符:

&#13;
&#13;
<body>
<h1>This is a page for randomize number between 0 - 8 </h1> <br />

<button onclick="randomize()">Random number</button>

<p id="Output"></p>

<script>
function randomize() {

    var arr = []
    while(arr.length < 40){
        var randomnumber=Math.floor((Math.random() * 9)) // 0-8 is 9 numbers
        arr.push(randomnumber) 
    }
    document.getElementById("Output").innerHTML = arr.join('<br>'); // Add line break between numbers

}
</script> 
</body>
&#13;
&#13;
&#13;

编辑:将随机乘数从8改为9

答案 2 :(得分:1)

我认为您需要查看随机计算并使用.join()将数字分成不同的行。

1)随机公式应为Math.floor(Math.random()*(1+High-Low))+Low;。由于您将Math.random()乘以8,因此最多只能得到7。但是,您在随机后添加+1,您仍然会获得8个最大数字,但最小值变为1.您现在正在创建 1到8

2)如果您需要在新行中回显每个数字,则需要使用<br/>加入数组。例如。 document.getElementIdBy('Output').innerHtml = arr.join('<br/>')