JavaScript中生成UUID的两种高效方法

在JavaScript中,你可以使用各种方法来生成UUID(Universally Unique Identifier,通用唯一识别码)。

图片[1]_JavaScript中生成UUID的两种高效方法_知途无界

下面是一个简单的示例,使用内置的Math.random()函数和一些字符串操作来生成一个近似的UUID(不是完全符合RFC 4122标准的UUID,但通常足够唯一):

function generateUUID() {
var d = new Date().getTime();
if (typeof performance !== 'undefined' && typeof performance.now === 'function'){
d += performance.now(); //use high-precision timer if available
}
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = (d + Math.random()*16)%16 | 0;
d = Math.floor(d/16);
return (c==='x' ? r : (r&0x3)|0x8).toString(16);
});
return uuid;
}
console.log(generateUUID());
function generateUUID() {  
    var d = new Date().getTime();  
    if (typeof performance !== 'undefined' && typeof performance.now === 'function'){  
        d += performance.now(); //use high-precision timer if available  
    }  
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {  
        var r = (d + Math.random()*16)%16 | 0;  
        d = Math.floor(d/16);  
        return (c==='x' ? r : (r&0x3)|0x8).toString(16);  
    });  
    return uuid;  
}  
  
console.log(generateUUID());
function generateUUID() { var d = new Date().getTime(); if (typeof performance !== 'undefined' && typeof performance.now === 'function'){ d += performance.now(); //use high-precision timer if available } var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = (d + Math.random()*16)%16 | 0; d = Math.floor(d/16); return (c==='x' ? r : (r&0x3)|0x8).toString(16); }); return uuid; } console.log(generateUUID());

然而,如果你需要完全符合RFC 4122标准的UUID,你可能需要使用一个专门的库,如uuid库。你可以通过npm安装这个库:

npm install uuid
npm install uuid
npm install uuid

然后在你的JavaScript代码中使用它:

const { v4: uuidv4 } = require('uuid');
console.log(uuidv4());
const { v4: uuidv4 } = require('uuid');  
  
console.log(uuidv4());
const { v4: uuidv4 } = require('uuid'); console.log(uuidv4());

uuidv4()`函数会生成一个符合RFC 4122标准的版本4 UUID。

© 版权声明
THE END
喜欢就点个赞,支持一下吧!
点赞65 分享
Only they who fulfill their duties in everyday matters will fulfill them on great occasions.
只有在日常生活中尽责的人才会在重大时刻尽责
评论 抢沙发
头像
欢迎您留下评论!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容