从 min 到 max 的随机数
重要性: 2
内置函数 Math.random()
创建一个从 0
到 1
(不包括 1
)的随机值。
编写函数 random(min, max)
以生成从 min
到 max
(不包括 max
)的随机浮点数。
其工作示例
alert( random(1, 5) ); // 1.2345623452
alert( random(1, 5) ); // 3.7894332423
alert( random(1, 5) ); // 4.3435234525
我们需要将 0…1 区间的所有值“映射”到 min
到 max
的值。
这可以分两个阶段完成
- 如果我们将 0…1 区间的随机数乘以
max-min
,则可能的数值区间将从0..1
扩展到0..max-min
。 - 现在,如果我们加上
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) );