请告诉我如何在每次加载文档时创建随机1或3(不是范围,只有1或3)?我已经尝试了这个但它返回String而不是数字。我应该将它们解析为数字还是有更好的方法来做到这一点?
var num = [];
var chances = "13";
for (var i = 0; i <1; i++) {
num.push(chances.charAt(Math.floor(Math.random() * chances.length)));
}
console.log(num);
答案 0 :(得分:9)
由于Math.random
返回0
(含)与1
之间的数字(不包括):
var value = Math.random() < 0.5 ? 1 : 3;
那就是说,请注意你的chances
字符串在索引3处没有字符,它只有两个字符长,并且它们的索引是0和1.所以如果你真的想要从这两个字符中随机选择,正如你的代码似乎暗示的那样,你真正想要的是:
var value = Math.random() < 0.5 ? 0 : 1;
或
var value = Math.floor(Math.random() * 2);
...虽然使用chances.length
的代码很好(因为chances.length
是2
)。
另请注意,for (var i = 0; i < 1; i++)
只能完全运行,这使得循环毫无意义。 : - )