「前端开发工具分享·建议收藏」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...
- 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语言中计算浮点数绝对值的「数学净化器」,它能将任意浮点数转换为非负数。就像一位净化器,无论输入是正是负,它都能将其「净化」为非负值!函数原型与参数...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
推荐7个模板代码和其他游戏源码下载的网址
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
-
- BBC推荐:12月最值得一看的5部电影 Five films to watch in December
- 基于锂离子电池的电池荷电状态 (SOC) 和运行健康状态 (SOH) 估计技术
- 深入解析电池充电状态 (SOC) 和运行状态 (SOH) 估计技术
- CBN丨Stocks tumble as global investors brace for Trump's April 2 tariffs
- 掌握C#、VB.NET与Web前端,轻松打造工控界面惊艳UI
- OpenGL中位图的操作(opengl图像处理)
- 使用SOLIDWORKS软件中的Draw compare功能比较工程图
- 新手怎么学cdr之将照片变线条的三种方法
- Android开发学习之路-带文字的图片分享
- canvas是什么?前端中canvas 性能为何会比 html/css 好?
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)