注意:需要声明一个字符串来接受这个生成的唯一id
createUniqueId(n) {
n = 1; // 生成一个唯一id,包含数字和字母
var random = function() {
// 生成10-12位不等的字符串
return Number(
Math.random()
.toString()
.substr(2)
).toString(36); // 转换成十六进制
};
var arr = [];
function createId() {
var num = random();
var _bool = false;
arr.forEach(v => {
if (v === num) _bool = true;
});
if (_bool) {
createId();
} else {
arr.push(num);
}
}
var i = 0;
while (i < n) {
createId();
i++;
}
this.uniqueId = arr[0]; // 将生成的转为我们需要的字符串并赋值
return arr;
},
本文介绍了一种生成唯一ID的算法,通过结合随机数生成和十六进制转换,确保了ID的唯一性和复杂度。文章详细解释了算法的实现过程,包括如何避免重复ID的产生。
467

被折叠的 条评论
为什么被折叠?



