javascript - 随机数生成器很少包括上限和下限

标签 javascript

我在一个数组中有一些字母,只有 8 个,从 A 开始到 H 结束。使用典型的随机数生成器,我发现很少生成 A 和 H。我怎样才能使这两个界限更具包容性?

var allowedLetters = ["A","B","C","D","E","F","G","H"];
var i = Math.round(Math.random() * (allowedLetters.length - 1));
var letter = allowedLetters[i];
    
console.log(letter)

最佳答案

 var i = Math.round(Math.random() * (allowedLetters.length - 1));

因为第一个和最后一个元素的范围为 0.5,所有其他元素的范围为 1。可能会这样做:

var i = Math.floor(Math.random() * allowedLetters.length);

是否所有元素都得到相同的分布。

关于javascript - 随机数生成器很少包括上限和下限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49098511/

相关文章:

javascript - 如何根据 Mongoose 中的对象ID列表删除数组项?

javascript - 如何在键值过滤后从 JSON 追加

javascript - 通过 JS 删除 X 类时添加类

javascript - 如何用kineticjs 5.1.0制作作用于多层的橡皮擦?

javascript - setInterval 与循环时间

javascript - 在原型(prototype)函数上设置点击事件

javascript - ReactJs:使用 Prop 和列表进行样式设置

javascript - 用于 wordpress 中滑出菜单的 anchor 包裹 li

javascript - xpath 选择一个属性值,其中另一个属性是谓词

javascript - AngularJS 用户界面路由器 : how to resolve typical data globally for all routes?