繁体   English   中英

随机数组选择器 - Javascript

[英]Random Array Picker - Javascript

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

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

(这是数组)

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

(这是随机选择器 var)

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

任何人都可以帮助我吗?

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

谢谢

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

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

您不应该使用Math.floor因为它很难获取btnarray数组中的最后一个元素,您需要准确获取btnarray.length的数字才能获取该元素。 此外, floor往往会使概率结果变平,并且看起来您被困在某些值上,因为它的阈值迫使您拥有小于或等于某个数字的最大整数。

您应该使用round代替,这甚至会是每个数组元素的概率,并且会给您更明显的随机索引。 试试这个,它已经用一个虚拟的btnarray数组变量进行了测试并且工作正常。

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

如果你把它扔到你的 html 文档的 head 标签中:

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

你可以这样做:

var randomValue = rando(btnarray).value

我通常使用randojs.com,因为它几乎可以处理您需要的任何随机功能,而且都很简短易读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM