随机数组选择器-Javascript

时间:2019-12-07 20:07:16

标签: javascript html arrays

我正在为一个小项目编码,但是我的随机数组选择器不起作用

var btnarray = [xfn.left, xn.left, xnln.left, xln.left, xnn.left];

(这是数组)

var rand = btnarray[Math.floor(Math.random() * 4)];

(这是随机选择器变量)

好吧,当我开始时,rand值的结果等于btnarray [0]

有人可以帮助我吗?

哦,我完全知道变量都是不同的。

谢谢

3 个答案:

答案 0 :(得分:0)

由于数组的长度为5,因此需要将随机函数的值乘以该数字。更好的是,使用length属性。

var rand = btnarray[Math.floor(Math.random() * btnarray.length)];

答案 1 :(得分:0)

您不应该使用Math.floor,因为要获取btnarray数组中的最后一个元素会非常困难,您需要精确地获取数字{strong> {1}},以达到该元素。另外,btnarray.length倾向于变平概率结果,并且看起来您被某些值卡住了,因为它的阈值迫使您拥有最大的整数小于或等于某个数字。

您应该改用floor,这甚至会增加每个数组元素的概率,并为您提供更多显然个随机索引。尝试一下,它已经通过虚拟round数组变量进行了测试,并且可以正常工作。

btnarray

答案 2 :(得分:0)

如果您将其扔到html文档的head标签中:

<script src="https://randojs.com/1.0.0.js"></script>

您可以这样做:

var randomValue = rando(btnarray).value

我通常会选择randojs.com,因为它几乎可以处理您需要的任何随机功能,而且简短易懂。