如何生成随机的自增ID

想使用自增的id放到URI里用来定位资源, 但是不希望自增的id是每次+1的, 而是希望是一个随机的数字作为id, 但这个id是成正比的.
目前我想到的一个方案是使用时间戳, 不知道有没有其他方案?

回答的时候请注明一下编程语言

阅读 9.1k
2 个回答

JavaScript

01

时间戳

let id = + new Date(); 

另外一种可能的做法

var R = (function(){
    var base = 0
      , inc  = 2;  
      
    // base 是基数, _inc 是增量 
    function config(_base, _inc){
        base = _base; 
        inc = _inc; 
    }
    
    function randGenerator(){
        var pre = base; 
        base += inc; 
        return pre + (Math.random() * inc); 
    }
    
    return {
        rand: randGenerator,
        config: config
    }
})(); 

R.config(0, 2); 
R.rand(); // 0 ~ 2 中的随机数
R.rand(); // 2 ~ 4 中的随机数 

clipboard.png

uuid

clipboard.png

https://www.npmjs.com/package...

利用 uuidV1

生成一个不重复的随机数字。用

•srand() - 播下随机数发生器种子
•getrandmax() - 显示随机数最大的可能值
•mt_rand() - 生成更好的随机数
这三个函数。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题