function random(min, max) {
var number = Math.random();
var length = max - min;
var result = Math.floor(number * length) + min;
return result;
}
console.log(random(5, 6)); // 一直返回 5
console.log(random(5, 7)); // 返回 5 或 6
首先函數(shù)隨機(jī)生成 0-1 的小數(shù),然后用該小數(shù)乘以可選范圍的長(zhǎng)度,舍去小數(shù)位數(shù),再加上最小值。
但該函數(shù)只返回包括最小值不包括最大值的隨機(jī)數(shù),只需要把 length + 1,即可包括最大值:
function random(min, max) {
var number = Math.random();
var length = max - min + 1;
var result = Math.floor(number * length) + min;
return result;
}
console.log(random(5, 6)); // 返回 5 或 6
console.log(random(5, 7)); // 返回 5 或 6 或 7