百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

「前端开发工具分享·建议收藏」JavaScript 随机生成唯一ID

yuyutoo 2024-10-18 12:10 3 浏览 0 评论

一、方式1:Math.random() 和 Date.now()

(1)完整源码

// 直接使用(缺少时间戳)
const randomString = () => Math.random().toString(36).slice(2);
console.log(randomString()); // 4uz4qq4m3a

// 组合时间戳和随机函数使用,减少重复(随机字符串越长越不容易重复哈,也是可行的一个法子)
function generateUniqueId() {  
    const timestamp = Date.now();  
    const random = Math.random().toString(36).substr(2, 9); // 生成一个9位的随机字符串  
    return timestamp + '-' + random;  
}

?注意:这种方法简单但可能不够唯一,因为 Math.random() 的随机性有限并且 Date.now()的精度是毫秒级,可能在极短时间内生成重复的ID

(2)结果演示


二、方式2:cryto 模块(Node.js)

这种方法更加靠谱比原生的JavaScript (Math.random())。

const crypto = require('crypto');  
  
function generateUUID() {  
    return crypto.randomBytes(16).toString('hex').match(/.{1,4}/g).join('-');  
}  
  
// 这会生成一个标准的UUID v4格式的字符串

三、方式3:uuid 模块

① 前端安装 uuid 模块

npm install uuid  
# 或者  
yarn add uuid

② JavaScript 引入 uuid

import { v4 as uuidv4 } from 'uuid';  
  
const myUUID = uuidv4();  
console.log(myUUID); // 输出一个版本4的UUID

相关推荐

BBC推荐:12月最值得一看的5部电影 Five films to watch in December

年终岁末,还有哪些精彩电影在等着我们呢?迪士尼的《欢乐满人间2》绝对是合家欢电影的首选,超级英雄迷们将能看到索尼动画《蜘蛛侠:平行宇宙》,福尔摩斯的粉丝们千万别错过《福尔摩斯与华生》。还有朱莉亚·罗伯...

基于锂离子电池的电池荷电状态 (SOC) 和运行健康状态 (SOH) 估计技术

简介基于锂离子(Li-ion)电池单元的电池组广泛用于各种应用,例如:混合动力汽车(HEV)、电动汽车(EV)、可供日后使用的再生能源储存以及用于各种目的(电网稳定性、调峰和再生能源时移等)的...

深入解析电池充电状态 (SOC) 和运行状态 (SOH) 估计技术

基于锂离子(Li-ion)电池单元的电池组广泛用于各种应用,例如:混合动力汽车(HEV)、电动汽车(EV)、可供日后使用的再生能源储存以及用于各种目的(电网稳定性、调峰和再生能源时移等)的电网...

CBN丨Stocks tumble as global investors brace for Trump's April 2 tariffs

Hieveryone.I’mStephanieLI.Comingupontoday’sprogramUSso-called“reciprocal”tariffsareset...

掌握C#、VB.NET与Web前端,轻松打造工控界面惊艳UI

OpenGL中位图的操作(opengl图像处理)

  OpenGL中位图的操作(glReadPixels,glDrawPixels和glCopyPixels应用举例)。1.BMP文件格式简单介绍  BMP文件是一种像素文件,它保存了一幅图象中所有的...

使用SOLIDWORKS软件中的Draw compare功能比较工程图

在我们的日常工作中,我们经常会重复利用工程图文件。大家也都知道,我们在制作符合我们公司标准的工程图时,花费的时间可能是两个小时也可能是四个小时甚至更多,所以遇到相似的零部件时,我们都会重复利用工程图来...

新手怎么学cdr之将照片变线条的三种方法

作为强大的平面设计软件,CorelDRAW为用户提供了多种将照片转为线稿的方法,其中包括轮廓描摹、轮廓图滤镜和线条图解等用于查找位图边缘的功能,使用这些功能可以快速的将图片转换为单线条图形。本文结合实...

Android开发学习之路-带文字的图片分享

有用过微信分享SDK的都应该知道,微信朋友圈的时候是不能同时分享图片和文字的,只要有缩略图,那么文字就不会生效。那么问题就来了,如果我们想把APP内的某些内容连带图片一起微信,是不是没办法了呢?再想想...

canvas是什么?前端中canvas 性能为何会比 html/css 好?

更底层的操作(DirectPixelManipulation):Canvas本质上是一个...

单精度和双精度浮点数(单精度浮点数和双精度浮点数有什么区别)

单精度和双精度是我们在mysql中定义数据时候的两个常见类型,那么单精度和双精度数据有什么区别,我们今天就来研究下。单精度...

博途系统如何做浮点数的四舍五入呢?

根据工况而已,仪表数据都是浮点数,但浮点数往往都是小数点后好多位,但我们上位机都用S999.99,也就是有符号的小数点保留两位。这里问题就来了,有时在上位机上明明看到液位到了,为什么没有动作呢,这里往...

「创新班」007. float()函数 -- 把数字字符串(或整数)转为浮点数

一.知识精讲:7.1输入两个浮点数,求和并输出num1=float(input(‘请输入一个数:’))num2=float(input(‘请输入另一个数:’))sum=num1+n...

JAVA中的浮点数与二进制(java中浮点数的定义)

先来看一段简单的代码publicstaticvoidmain(String[]args){    System.out.println(0....

C语言fabs函数详解:浮点数绝对值的「数学净化器」

核心定位fabs是C语言中计算浮点数绝对值的「数学净化器」,它能将任意浮点数转换为非负数。就像一位净化器,无论输入是正是负,它都能将其「净化」为非负值!函数原型与参数...

取消回复欢迎 发表评论: