从 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) );