Create a unique number with javascript time

后端 未结 30 3163
生来不讨喜
生来不讨喜 2020-12-02 08:31

I need to generate unique id numbers on the fly using javascript. In the past, I\'ve done this by creating a number using time. The number would be made up of the four digi

30条回答
  •  一个人的身影
    2020-12-02 08:56

    This performs faster than creating a Date instance, uses less code and will always produce a unique number (locally):

    function uniqueNumber() {
        var date = Date.now();
    
        // If created at same millisecond as previous
        if (date <= uniqueNumber.previous) {
            date = ++uniqueNumber.previous;
        } else {
            uniqueNumber.previous = date;
        }
    
        return date;
    }
    
    uniqueNumber.previous = 0;
    

    jsfiddle: http://jsfiddle.net/j8aLocan/

    I've released this on Bower and npm: https://github.com/stevenvachon/unique-number

    You could also use something more elaborate such as cuid, puid or shortid to generate a non-number.

提交回复
热议问题