1、写一个函数,返回从min到max之间的随机整数,包括min不包括max
function rand(min, max){
var randInt = Math.floor(Math.random()*(max - min))+min;
return randInt;
}
rand(15, 25) // 20
检验函数符不符合要求,运行10000次测试随机整数的概率
function rand(min, max){
var count = 10000;
var obj = {};
for(var i=0; i<count; i++){
var randInt = Math.floor(Math.random()*(max - min))+min;
var key = randInt;
if(obj[key] === undefined){
obj[key] = 1;
}else{
obj[key]++;
}
}
for(key in obj){
obj[key] = obj[key] / count;
}
console.log(obj);
}
rand(15, 25)
/* 运行10000次,随机整数的概率
15: 0.0997
16: 0.102
17: 0.1058
18: 0.103
19: 0.1005
20: 0.1014
21: 0.0987
22: 0.094
23: 0.0935
24: 0.1014
包括 min 不包括 max,符合要求
*/
2、写一个函数,返回从min都max之间的随机整数,包括min包括max
function rand2(min, max){
var randInt = Math.floor(Math.random()*(max + 1 - min))+min;
return randInt;
}
rand2(15, 25) // 23
检验函数符不符合要求,运行10000次测试随机整数的概率
function rand2(min, max){
var count = 10000;
var obj = {};
for(var i=0; i<count; i++){
var randInt = Math.floor(Math.random()*(max + 1 - min))+min;
var key = randInt;
if(obj[key] === undefined){
obj[key] = 1;
}else{
obj[key]++;
}
}
for(key in obj){
obj[key] = obj[key] / count;
}
console.log(obj);
}
rand2(15, 25)
/*运行10000次,随机整数的概率
15: 0.0894
16: 0.0905
17: 0.0872
18: 0.0913
19: 0.0904
20: 0.0904
21: 0.0883
22: 0.0916
23: 0.0971
24: 0.0933
25: 0.0905
包括 min 也包括 max 符合要求
*/
3、写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。
function randomStr(n){
var dict = "0123456789" +
"abcdefghijklmnopqrstuvwxyz" +
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var str = "";
for(var i=0; i<n; i++){
str += dict[Math.floor(Math.random()*dict.length)];
}
return str;
}
randomStr(10)
// "ybF5F5BOPS" 随机生成一个长度为 10 的字符串
var count = 5;
for(var j=0; j<count; j++){
console.log(randomStr(10));
}
/*运行5次,生成5个这样的字符串
anqWd8gy78
EN48PbSroF
8fZQMYU4DB
Gi6p5e4aIf
k5nkUM8Xms
*/
4、写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为 0.0.0.0~255.255.255.255
function getRandIP(){
var arr = [];
for(var i=0; i<4; i++){
arr[i] = Math.floor( Math.random()*256 );
}
return arr.join('.');
}
var ip = getRandIP()
console.log(ip) // 25.65.146.196
var count = 5;
for(var j=0; j<count; j++){
ip = getRandIP()
console.log(ip)
}
/*运行5次,产生5个随机ip
14.26.217.81
45.88.162.135
114.152.134.49
23.225.5.197
43.189.153.7
*/
5、写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff
function getRandColor(){
var dict = "0123456789abcdef";
var colorStr = "#";
for(var i=0; i<6; i++){
colorStr += dict[Math.floor(Math.random()*dict.length)];
}
return colorStr;
}
var color = getRandColor()
console.log(color) // #ae7ebd
var count = 5;
for(var j=0; j<count; j++){
color = getRandColor();
console.log(color);
}
/*运行5次,产生5个随机颜色字符串
#881727
#21db5d
#8f7fd1
#8e0535
#465030
*/