本篇内容主要讲解“js动态生成唯一id的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js动态生成唯一id的方法有哪些”吧!
一. 引入时间戳,生成可控长度的随机数
随机数长度控制,定义一个长度变量(length),生成可控长度的随机数:
Math.random().toString(36).substr(3,length)
引入时间戳:
Date.now().toString(36)
合在一起最终办法:
genID(length){ return Number(Math.random().toString().substr(3,length) + Date.now()).toString(36); }
二. JS 生成随机
如:07854BB7-6572-496E-918B-81115BCF396E
getUuid () { var s = []; var hexDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1) } s[14] = "4" s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) s[8] = s[13] = s[18] = s[23] = "-" let uuid = s.join("") return uuid }
下面是一些补充
在 JavaScript 中,可以通过使用 Date 对象的 getTime 方法来生成一个毫秒级别的唯一 ID。具体示例如下:
let uniqueId = new Date().getTime();
console.log(uniqueId); // 输出的结果类似于 1633067982824
如果需要生成更长的 ID,可以将该 ID 转换为字符串,并在后面添上一个随机数。示例如下:
let uniqueId = String(new Date().getTime()) + String(Math.floor(Math.random() * 1000));
console.log(uniqueId); // 输出的结果类似于 1633067982824432
上述代码将自动生成一个长度为 16 位的唯一 ID,其中前 13 位是时间戳,后 3 位是随机数。