js产生随机数

  • 产生 $[0,1)$ 之间的随机实数,即 $0\le\text{Math.random()} < 1$
1
2
3
4
5
Math.random()
// 返回值样例:
// #1:0.60958701902852
// #2:0.16182155144292465
// #3:0.30126821448898133
  • 随机产生 $[0, n]$ 之间的整数
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
function randint1(n) { // 各数产生概率较平均
  return Math.round(Math.random() * n);
}

function randint2(n) { // 不可能出现n
  return Math.floor(Math.random() * n);
}

function randint3(n) { // 0的概率极小,与Math.random()产生0的概率相同
  return Math.ceil(Math.random() * n);
}
  • 产生 $[0, n]$ 之间的随机一位小数
1
2
3
4
// 可能有浮点数精度误差,如:0.30000000000000004,0.7999999999999999
function randf(n) {
  return Math.round(Math.random() * n * 10) / 10;
}
使用 Hugo 构建
主题 StackJimmy 设计