回到课程

从最小到最大的随机数

重要程度: 2

用内置函数Math.random() 创建一个从 0 到 1 的随机值(不包括 1 )。

编写随机函数(min,max)以生成从最小到最大(不包括最大值)的随机浮点数。

实例:

alert( random(1, 5) ); // 1.2345623452
alert( random(1, 5) ); // 3.7894332423
alert( random(1, 5) ); // 4.3435234525

我们需要将区间 0…1 中的所有值“映射”为从最小值到最大值。

这可以分两个阶段完成:

  1. 如果我们将 0…1 的随机数乘以 max-min,则可能值的间隔从 0…1 增加到 0..max-min
  2. 现在,如果我们添加 min,则可能的间隔将从 min 变为 max

函数实现:

function random(min, max) {
  return min + Math.random() * (max - min);
}

alert( random(1, 5) );
alert( random(1, 5) );
alert( random(1, 5) );