我正在尝试在0和Array.length之间获取随机数。 我有这个:
getRandom() {
const cars = Object.keys(this.index);
const randomInt = Math.floor(Math.random() * cars.length);
return cars[randomInt];
}
我跑了几次,在0
的一个结果中找到getRandom()
。我的key
对象this.index
中没有0
。
我的数学函数是错误的吗?
更新
阅读评论后,我知道getRandom()
没有错。如果你们可以看一下,我也有reset()
功能。
reset() {
const cars = Object.keys(this.index);
let i = cars.length;
while (i--) {
this.index[cars[i]] = 0;
}
}
我是否有可能在0
对象上添加新密钥this.index
?
答案 0 :(得分:1)
我在这里看不到实际的问题。
Object.keys
会将您的已命名的keys
转换为数字(请点击此处https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/keys),此数字从0开始。
所以你的函数,正如你写的yourselv,将返回:
0和Array.length之间的随机数
答案 1 :(得分:0)
您可以使用此现有解决方案。
Generating random whole numbers in JavaScript in a specific range?
传递0和array.length为params。
答案 2 :(得分:-1)
我不知道你在看什么,但我们都缺乏这里的背景,所以我做了一个小例子来尝试用我自己的眼睛看问题的功能,它似乎没有你描述的问题。
Try it for yourself here - 也许是你运行该方法的数据就是问题?