📜  唯一 id 生成器 javascript (1)

📅  最后修改于: 2023-12-03 14:50:44.321000             🧑  作者: Mango

唯一 ID 生成器 JavaScript

在开发 Web 应用程序时,经常需要为页面或对象生成唯一的标识符。在 JavaScript 中,可以使用各种方法创建唯一 ID 生成器。本文将介绍几种有效的方法。

1. 使用 UUID

UUID(通用唯一识别码)是一种标准的 ID 生成器,它可以生成唯一的标识符,无论在何时、何地创建,在任何系统中都是唯一的。JavaScript 中可以使用第三方库 uuid 来生成 UUID。

const uuid = require('uuid');

console.log(uuid.v4()); // => "4183934d-81f0-4f7e-a9f1-2707e0a5d976"
2. 使用时间戳

如果不需要绝对唯一的标识符,可以使用时间戳作为 ID。在 JavaScript 中,可以使用 Date.now() 获取当前时间戳。

console.log(Date.now()); // => 1616059579966

在需要更多的随机性时,可以将时间戳和随机数字组合起来。

const id = Date.now() + Math.floor(Math.random() * 100);
console.log(id); // => 1616059618052
3. 基于计数器

另一种创建唯一 ID 的方法是使用计数器。每次生成 ID 时,计数器自增并返回其当前值。这种方法需要全局变量来存储计数器的当前值,并且在多个实例之间可能会导致 ID 冲突。

let counter = 0;

function generateId() {
  counter++;
  return counter;
}

console.log(generateId()); // => 1
console.log(generateId()); // => 2
4. 自增 UUID

像 UUID 一样,可以创建自增的唯一标识符。每次生成 ID 时,使用当前时间戳和计数器值生成 UUID。

const uuid = require('uuid');

let counter = 0;

function generateId() {
  counter++;
  return uuid.v5(Date.now() + counter, uuid.v5.URL);
}

console.log(generateId()); // => "f098bdba-4b9e-5322-8d50-e40d4561d088"
console.log(generateId()); // => "097ea385-7b9d-5143-9ed6-265f34d849fb"

以上是四种不同的 JavaScript 唯一 ID 生成器方法。根据实际需求和场景,可以选择所需的方法。