前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生成不重复值的几种方法

生成不重复值的几种方法

作者头像
前端GoGoGo
发布2018-08-24 17:12:28
8810
发布2018-08-24 17:12:28
举报

方法1

生成的值为从 0 开始,每次增加 1。实现如下:

function getUniqId(){
    getUniqId._id = '_id' in getUniqId ? getUniqId._id + 1 : 0;
    return getUniqId._id;
}

方法2

生成的值为现在至格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒(北京时间 1970 年 01 月 01 日 00 时 00 分 00 秒)的总毫秒数。实现如下:

function now(){
    return (Date.now && Date.now()) || new Date().getTime();
}

方法3

生成的值为 GUID(全局唯一标识符)

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2128(3.4×1038)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。

实现如下:

function generateGuid() {
    var guid = "";
    for (var i = 1; i <= 32; i++) {
        var n = Math.floor(Math.random() * 16).toString(16);
        guid += n;
        if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
            guid += "-";
    }
    return guid;
}

本文遵守创作共享CC BY-NC-SA 4.0协议 网络平台如需转载必须与本人联系确认。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.01.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法1
  • 方法2
  • 方法3
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档