9 способов создать GUID / UUID на JavaScript

9 способов создать GUID / UUID на JavaScript

1. Введение

GUID (Globally Unique Identifier) или UUID (Universally Unique Identifier) – уникальные идентификаторы, которые применяются для идентификации ресурсов в программировании. JavaScript не предоставляет встроенных функций для генерации GUID/UUID, однако существует несколько способов создания их собственными средствами. В этой статье мы рассмотрим 9 различных методов.

2. Способ 1 – Math.random() и текущая дата

function generateGuid() {
  const timestamp = new Date().getTime();
  const randomString = Math.random().toString(36).substring(2);
  return `${timestamp}-${randomString}`;
}

const guid = generateGuid();
console.log(guid);

Объяснение: В этом примере мы используем текущую метку времени в миллисекундах и генерируем случайную строку с помощью Math.random(). Затем мы объединяем эти значения, разделяя их дефисом, чтобы создать уникальный идентификатор.

3. Способ 2 – uuid npm пакет

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

const guid = uuidv4();
console.log(guid);

Объяснение: В этом примере мы используем внешнюю библиотеку uuid для создания GUID. Установите ее, используя npm install uuid, и затем импортируйте функцию v4. Вызов этой функции вернет новый GUID.

4. Способ 3 – crypto.getRandomValues()

function generateGuid() {
  const crypto = window.crypto || window.msCrypto;
  const array = new Uint32Array(4);
  crypto.getRandomValues(array);
  const guid = array.join('-');
  return guid;
}

const guid = generateGuid();
console.log(guid);

Объяснение: В этом примере мы используем API crypto.getRandomValues() для генерации случайных чисел. Мы создаем Uint32Array с 4 элементами, заполняем его случайными значениями и объединяем элементы в строку, разделяя их дефисами.

5. Способ 4 – nanoid npm пакет

const { nanoid } = require('nanoid');

const guid = nanoid();
console.log(guid);

Объяснение: В этом примере мы используем библиотеку nanoid для генерации уникального идентификатора. Установите ее с помощью npm install nanoid и вызовите функцию nanoid(), чтобы получить новый GUID.

Читайте так же  9 причин использовать оператор равенства (== vs ===) в JavaScript

6. Способ 5 – uuid-random npm пакет

const uuidRandom = require('uuid-random');

const guid = uuidRandom();
console.log(guid);

Объяснение: В этом примере мы используем библиотеку uuid-random для генерации случайного UUID. Установите ее с помощью npm install uuid-random и вызывайте функцию uuidRandom() для получения уникального идентификатора.

7. Способ 6 – shortid npm пакет

const shortid = require('shortid');

const guid = shortid.generate();
console.log(guid);

Объяснение: В этом примере мы используем библиотеку shortid для создания коротких уникальных идентификаторов. Установите ее с помощью npm install shortid и вызывайте функцию generate() для получения GUID.

8. Способ 7 – uniqid npm пакет

const uniqid = require('uniqid');

const guid = uniqid();
console.log(guid);

Объяснение: В этом примере мы используем библиотеку uniqid для генерации уникальных идентификаторов. Установите ее с помощью npm install uniqid и вызывайте функцию uniqid() для получения нового GUID.

9. Способ 8 – node-uuid npm пакет

const uuid = require('node-uuid');

const guid = uuid.v1();
console.log(guid);

Объяснение: В этом примере мы используем библиотеку node-uuid для генерации уникального идентификатора. Установите ее с помощью npm install node-uuid и вызовите функцию v1(), чтобы получить новый GUID.

10. Способ 9 – генерация с использованием дополнительных символов

function generateGuid() {
  const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  let guid = '';
  for (let i = 0; i < 32; i++) {
    const randomIndex = Math.floor(Math.random() * charset.length);
    guid += charset[randomIndex];
  }
  return guid;
}

const guid = generateGuid();
console.log(guid);

Объяснение: В этом примере мы генерируем GUID, используя набор символов, состоящий из букв латинского алфавита в верхнем и нижнем регистре, а также цифр. Мы выбираем случайный символ из набора и добавляем его к создаваемому GUID. Повторяем этот процесс 32 раза, чтобы получить 32-символьный идентификатор.

Заключение

В этой статье мы рассмотрели 9 различных способов создания GUID / UUID на JavaScript. Вы можете выбрать тот, который лучше соответствует вашим потребностям и использовать его в своих проектах. Обратите внимание, что некоторые методы требуют установки дополнительных библиотек с использованием npm.

Читайте так же  Как передать переменные и данные из PHP в JavaScript?