获取随机值JavaScript中的1或3

Beh*_*ini 0 javascript

你能否告诉我如何在每次加载文件时创建随机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);
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 9

由于Math.random返回0(包含)和1(不包括)之间的数字:

var value = Math.random() < 0.5 ? 1 : 3;
Run Code Online (Sandbox Code Playgroud)

也就是说,请注意你的chances字符串在索引3处没有字符,它只有两个字符长,并且它们的索引是0和1.因此,如果你真的想从这两个字符中随机选择,那么你的代码似乎建议,你真正想要的是:

var value = Math.random() < 0.5 ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)

要么

var value = Math.floor(Math.random() * 2);
Run Code Online (Sandbox Code Playgroud)

...虽然您使用的代码chances.length很好(因为chances.length2).

还要注意,for (var i = 0; i < 1; i++)它只运行一次,使循环有点无意义.:-)