随机生成一段字符串
在开发的过程中,有时候我们需要去生成一段随机字符串的场景,就拿我上篇文章举例,我们需要将图片上传到oss,对图片进行重新命名的操作
比如 项目名称/模块名称/年/月/日/随意的字符串.图片格式 ,那这里的的随机字符串就需要我们出马了,我提供两种我自己经常使用的:
1. 对随机字符串有一定的长度要求的,必须是16长度的字符串等等,len为我们设置的随机字符串长度,32应该够用了吧。。。
function getGuid(len = 32, radix = null) {
let chars =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
let uuid = [];
radix = radix || chars.length;
for (let i = 0; i < len; i++) {
uuid[i] = chars[0 | (Math.random() * radix)];
}
return uuid.join("");
}
console.log(getGuid(16));
打印:
2. 对字符串长度没啥要求,这个时候就需要我们的骚操作了
const getGuid = () => Math.random().toString(36).slice(2);
console.log(getGuid());
你没看错,就一行代码就可以,打印:
随机生成布尔值
const getRandomBoolean = () => Math.random() >= 0.5;
console.log(getRandomBoolean());
Math.random()会随机生成一个0-1的随机数,那我们判断这个数值与0.5的关系,就生成了一个随机的布尔值
在两个数字中生成两个随机数
const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);
console.log(random(1, 50)); //随机生成一个1-50之间的随机数字
写上这种代码,会让你的代码变得更加的骚气!!!还不赶紧用?