javascript - 在 JavaScript 中获取随机值 1 或 3

标签 javascript

您能否告诉我如何在每次加载文档时创建随机 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.length2 )。

另请注意 for (var i = 0; i < 1; i++)只会运行一次,使得循环有点毫无意义。 :-)

关于javascript - 在 JavaScript 中获取随机值 1 或 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32962880/

相关文章:

javascript - 注册后收听事件是否安全?

javascript 生成器功能不起作用

javascript - jQuery:如何检查以确保所有异步操作已完成

javascript - jQueryUI Modal - 添加多个按钮

Javascript 内联 DOM 更改事件

javascript - 如何每分钟更新一次javascript函数并更新图表?

javascript - 如何聚焦隐藏的输入字段

javascript - 如何在 JavaScript(客户端)端创建类似 PHP session 的页面访问计数

javascript - 使用 NodeJS 的图像像素数组追踪边界

javascript - 使用 Javascript 或 Jquery 删除空白下拉列表