JavaScript生成随机数的4种自定义函数分享
本文将介绍4种利用JavaScript生成随机数的自定义函数,包括生成n位随机字符串、生成指定范围的整数、生成指定范围的小数、生成可以重复的随机数组。下面将分别进行介绍。
生成n位随机字符串
function randomString(len) {
len = len || 32;
var $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
var maxPos = $chars.length;
var pwd = '';
for (i = 0; i < len; i++) {
pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
}
该函数能够生成指定长度len的随机字符串,其中用到了字符串+运算符。通过将每一次的运算结果存放在变量pwd中,最终返回该变量即可。
示例说明:生成10位随机字符串
var randomStr = randomString(10)
console.log(randomStr)
输出结果:
"qrcVrHy4Wo"
生成指定范围的整数
function randomNum(minNum, maxNum) {
switch(arguments.length){
case 1:
return parseInt(Math.random()*minNum+1,10);
break;
case 2:
return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
break;
default:
return 0;
break;
}
}
该函数可以通过传递两个参数 minNum 和 maxNum 来生成指定范围的随机整数。通过调用 Math.random()生成0~1之间小数,再乘以区间长度后,向下取整,得到该区间整数范围内的随机结果。
示例说明:生成1~100之间的随机整数:
var randomInt = randomNum(1, 100)
console.log(randomInt)
输出结果:
42
生成指定范围的小数
function randomFloat(minNum,maxNum){
switch(arguments.length){
case 1:
return Math.random()*minNum;
break;
case 2:
return Math.random()*(maxNum-minNum+1)+minNum;
break;
default:
return 0;
break;
}
}
这个函数能够生成指定范围内的随机小数。也是通过调用 Math.random()方法来生成随机数,只不过生成的是0到1之间的小数。通过对区间长度进行计算,可使其生成指定范围的小数。
示例说明:生成1.5~3.5之间的随机小数:
var randomFlo = randomFloat(1.5, 3.5)
console.log(randomFlo)
输出结果:
2.250873308403998
生成可以重复的随机数组
function getRandomArray(len, min, max) {
var arr = []
for (var i = 0; i < len; i++) {
arr.push(parseInt(Math.random() * (max - min + 1) + min))
}
return arr
}
该函数可以生成固定长度len,并指定范围的随机数组。通过短路运算符 || 实现默认参数。具体实现方法是:将 Math.random()函数生成的小数乘以区间长度后,再向下取整,加上最小值,得到的结果符合所需随机数的范围,循环len次即可生成随机数组。
示例说明:生成长度为5,范围为1~10之间的随机数组:
var randomArr = getRandomArray(5, 1, 10)
console.log(randomArr)
输出结果:
[10, 7, 1, 2, 8]
结语
本文通过介绍四种函数,展示了JavaScript生成随机数的方法和思路。通过了解这些方法,我们可以在各种场景下方便地生成符合要求的随机数。当然,根据实际应用的需要,也可以针对这些方法进行改进和优化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript生成随机数的4种自定义函数分享 - Python技术站