js生成流水号,避免重复生成
时间: 2024-09-10 12:22:04 浏览: 39
用JS实现根据当前时间随机生成流水号或者订单号
5星 · 资源好评率100%
在JavaScript中,生成唯一的流水号(通常是用于标识记录或请求的ID)并避免重复,一种常见的做法是结合时间戳、随机数和计数器。这里提供一种基于Date和Math.random()的方法:
```javascript
function generateUniqueId(prefix = '') {
const timestamp = Date.now(); // 获取当前毫秒数
const randomPart = Math.floor(Math.random() * 1000); // 随机部分,范围0-999
let counter = localStorage.getItem('uniqueIdCounter') || 0; // 如果本地存储存在计数器,则读取;否则初始化为0
// 增加计数器
counter++;
// 写回本地存储以便下次使用
localStorage.setItem('uniqueIdCounter', counter);
return `${prefix}-${timestamp}-${randomPart}-${counter}`;
}
// 示例:
let id1 = generateUniqueId();
let id2 = generateUniqueId();
console.log(id1, '和', id2, '应该是两个不同的流水号');
```
这个函数每次调用都会生成一个新的流水号,其中包含当前时间戳、随机数以及一个递增的计数器。由于计数器保存在浏览器本地存储中,如果重启浏览器或清除缓存,下次生成的流水号会从0开始。
阅读全文