javascript - Math.随机数组长度+1?

标签 javascript arrays math random

我不明白这段代码中的某些内容:

vars.randAnim = anims[Math.floor(Math.random()*(anims.length + 1))];

假设我们有一个新的 Array,有 5 个元素,因此从索引 0 到索引 4

然后假设 Math.random() 返回 1。因此,我们得到了 1*5 的下限,但是 5 索引不存在于我的数组,加上这里我们添加一个“+1”

为什么+1?我本以为“-1”正好相反。

最佳答案

代码是错误的(正如Rocket所说)。应该是

Math.floor(Math.random()*(anims.length))

但推理也有一个缺陷:Math.random() 无法返回“1”。

关于javascript - Math.随机数组长度+1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5954199/

相关文章:

javascript - 让列扩展到浏览器底部,标题为空

javascript - 通过屏幕宽度检测和更改不起作用

javascript - 为什么数组在响应中总是空的?

javascript - 如何使用 Scriptaculous 的 Effect.Morph 关闭类(class)?

javascript - 添加新页面后无法设置未定义的属性 'login'?

php - PHP 中四舍五入为 float 的倍数

c++ - 与我的 abs() 相比,C++ math.h abs() 有什么不同

javascript - 计算返回带有动态值的 NaN

arrays - addObjectsFromArray 到现有数组的开头

javascript - 了解获取数组中第二低和第二高的值