您能否告诉我如何在每次加载文档时创建随机 1 或 3(不是范围,只有 1 或 3)?我已经尝试过这个,但它返回字符串而不是数字。我应该将它们解析为数字还是有更好的方法来做到这一点?
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);
最佳答案
自 Math.random
返回 0
之间的数字(含)和 1
(独家):
var value = Math.random() < 0.5 ? 1 : 3;
也就是说,请注意您的 chances
string 在索引 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++)
只会运行一次,使得循环有点毫无意义。 :-)
关于javascript - 在 JavaScript 中获取随机值 1 或 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32962880/