//随机数方法
//len是返回的随机字符串的最少长度
function random(len){
let arr_=[];
//生成1-100的数组
for(let i=0;i<100;i++){
arr_[i]=i;
}
arr_.sort(function(){ return 0.5 - Math.random() });//随机打乱数组排序
let arr =[
'a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z','A','B','C','D',
'E','F','G','H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X',
'Y','Z'
];
arr.sort(function(){ return 0.5 - Math.random() });//随机打乱数组排序
let arrs = arr.concat( arr_);//合并两数组
arrs.sort(function(){ return 0.5 - Math.random() });//随机打乱数组排序,获得一个含有1-100和大小写的52 字母元素的数组
//循环遍历拼接随机数
let str='';
for(let i = 0; i <len; i++){
//Math.floor(Math.random()*153 )意思是0~1(不含1)*153。随机取得1-153(不含153)范围的随机数,向下取整可获得1-152范围的索引数值
let index= Math.floor(Math.random()*153);
str+=arrs[index];
}
return str;
}
提示:当排序的数组元素很大时可以用一下方法打乱数组排序,该方法比sort(function(){ return 0.5 – Math.random() }),的执行效率更快
if (!Array.prototype.randomSort) {
Array.prototype.randomSort = function() {
for(let j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
return this;
};
}
版权声明:本文为qq_37621866原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。