從最小值到最大值之間的隨機數字
重要性: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) );