js生成指定范围的随机数
因为 Math.random() 制造的随机数范围是[0, 1)。
假设想要16到22之间的,即 m=16,n=22,m-n 得出范围是 6。把[0, 1)这个范围的随机数乘以6,范围就拓展到[0, 6)。在此基础之上再加16,范围就移动到[16, 22)。就达到目的了。
// m <= x < n function randomNum(min, max) { var range = max - min; var rand = Math.random(); var randGrow = Math.floor(rand * range); //向下取整 return min+randGrow; } // m <= x <= n function randomNum(min, max) { var range = max - min; var rand = Math.random(); var randGrow = Math.round(rand * range); //四舍五入 return min+randGrow; } // m < x <= n function randomNum(min, max) { var range = max - min; var rand = Math.random(); var randGrow = Math.round(rand * range); //四舍五入 if(randGrow === 0) return min + 1; return min+randGrow; } // m < x < n function randomNum(min, max) { var range = max - min; var rand = Math.random(); var randGrow = Math.round(rand * range); //四舍五入 if(randGrow === 0) return min + 1; if(randGrow === max) return max -1; return min + randGrow - 1; }