javascript - 偏斜数生成器

标签 javascript

我有一个简单的实现问题。 这是我拥有的随机数函数,它返回给定范围内的随机数(含)。

function randomNum(low, high){
     return Math.floor(Math.random() * (high - low + 1)) + low;
  }

但是,我希望有 50% 的机会获得较高的数字,而其他所有内容则有 25% 的机会..

例如:

randomNum(1, 3)

“3”有 50% 的几率命中,而“1”和“2”的命中率为 25%。 我不太确定需要对我的函数进行哪些更改...提示会很好,谢谢

最佳答案

function randomNum(low, high){
  return Math.random() > 0.5 ?
    high :
    Math.floor(Math.random() * (high - low)) + low;
}

关于javascript - 偏斜数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469060/

相关文章:

javascript - 元素之后的选择器 jquery

javascript - 合并 2 个对象数组,其中一个设置键,另一个设置值

javascript - 函数运行过程中出现奇怪的错误

javascript - Textarea 上的复制、粘贴和剪切操作

javascript - 在按钮集合中添加自定义按钮

javascript - 使用 javascript 从 firebase 检索所有数据

javascript - 删除值时数组不会取消设置 - 或者获取数组计数的最佳方法?

javascript 在遇到意外的 anchorOffset 时执行多个 createrange()

javascript - 为什么这个 javascript 程序返回为未定义?

javascript - 无损压缩方法在base64编码之前缩短字符串以使其更短?