获取随机值JavaScript中的1或3

时间:2015-10-06 06:10:54

标签: 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);

1 个答案:

答案 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.length2)。

另请注意,for (var i = 0; i < 1; i++)只能完全运行,这使得循环毫无意义。 : - )