【发布时间】:2019-02-08 03:25:13
【问题描述】:
想知道这个函数是否可靠且始终是唯一的,还想知道我应该在本地还是在服务器上执行此操作?
function IDGenerator() {
this.length = 8;
this.timestamp = +new Date;
var _getRandomInt = function( min, max ) {
return Math.floor( Math.random() * ( max - min + 1 ) ) + min;
}
this.generate = function() {
var ts = this.timestamp.toString();
var parts = ts.split( "" ).reverse();
var id = "";
for( var i = 0; i < this.length; ++i ) {
var index = _getRandomInt( 0, parts.length - 1 );
id += parts[index];
}
return id;
}
}
【问题讨论】:
-
当您的输入和输出是有限集时,从技术上讲不可能始终唯一。
-
一个简单的计数器会减少碰撞的风险...你能定义这个函数的范围吗?它是否应该在每个文档的生命周期内或在任何时候对每个用户都是唯一的?
标签: javascript