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
首先函数随机生成 0-1 的小数,然后用该小数乘以可选范围的长度,舍去小数位数,再加上最小值。
但该函数只返回包括最小值不包括最大值的随机数,只需要把 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