В мире веб-разработки создание уникальных идентификаторов является распространенной задачей. Независимо от того, создаете ли вы учетные записи пользователей, генерируете случайные строки или назначаете идентификаторы элементам, важно иметь надежный метод генерации уникальных идентификаторов. В этой статье блога мы рассмотрим 10 различных способов создания уникальных идентификаторов в JavaScript, дополненных разговорными объяснениями и примерами кода. Итак, приступим!
- Date.now():
Один простой метод создания уникального идентификатора — использование текущей отметки времени с помощью функцииDate.now()
. Этот метод возвращает количество миллисекунд, прошедших с 1 января 1970 года. Вот фрагмент кода для демонстрации:
const uniqueID = Date.now();
console.log(uniqueID); // Outputs something like: 1642525099387
- Math.random():
Используя функциюMath.random()
, вы можете сгенерировать случайное число с плавающей запятой от 0 до 1. Умножив его на большое число и преобразуя в целое число. даст вам уникальный идентификатор. Вот пример:
const uniqueID = Math.floor(Math.random() * 1000000);
console.log(uniqueID); // Outputs something like: 532456
- UUID (универсальный уникальный идентификатор):
UUID — это 128-битные уникальные идентификаторы, которые широко используются в различных системах. В JavaScript доступно несколько библиотек для генерации UUID, например библиотекаuuid
. Вот пример генерации UUID с использованием библиотекиuuid
:
const { v4: uuidv4 } = require('uuid');
const uniqueID = uuidv4();
console.log(uniqueID); // Outputs something like: 2a5d0b4d-7d7c-4d7e-bbfe-77d5a3f92b18
- Пользовательский счетчик.
Вы можете создать собственный счетчик, который увеличивается каждый раз при создании нового идентификатора. Этот метод обеспечивает уникальность и позволяет контролировать формат генерируемых идентификаторов. Вот пример:
let counter = 0;
function generateID() {
return `ID-${counter++}`;
}
const uniqueID = generateID();
console.log(uniqueID); // Outputs: ID-0
- nanoid:
Библиотекаnanoid
предоставляет быстрый и компактный метод создания уникальных идентификаторов настраиваемой длины. Он использует символы, удобные для URL-адресов, и подходит для создания коротких идентификаторов. Вот пример:
const { nanoid } = require('nanoid');
const uniqueID = nanoid(); // By default, generates a 21-character ID
console.log(uniqueID); // Outputs something like: 8M3D4r6z8nB2bU7Yh9SmC
- Crypto.getRandomValues():
Для большей случайности вы можете использовать методCrypto.getRandomValues()
, который генерирует криптографически безопасные случайные значения. Вот пример создания уникального идентификатора с помощью этого метода:
const array = new Uint32Array(1);
window.crypto.getRandomValues(array);
const uniqueID = array[0];
console.log(uniqueID); // Outputs a random 32-bit integer
- ShortID:
Библиотекаshortid
предлагает компактный и удобный для URL-адресов подход к созданию уникальных идентификаторов. Он использует комбинацию временных меток, случайных чисел и пользовательских символов для обеспечения уникальности. Вот как вы можете его использовать:
const shortid = require('shortid');
const uniqueID = shortid.generate();
console.log(uniqueID); // Outputs something like: -Cj5wHd-
- Prefix + Math.random():
Комбинируя префикс с методомMath.random()
, вы можете создавать уникальные идентификаторы в определенном формате. Вот пример:
const prefix = 'USER';
const uniqueID = prefix + Math.random().toString(36).substr(2, 9);
console.log(uniqueID); // Outputs something like: USER9wffo0z2a
- Инициалы + Date.now():
Если вам нужны короткие идентификаторы на основе временных меток, вы можете использовать инициалы вместе с методомDate.now()
. Вот пример:
const initials = 'JS';
const uniqueID = initials + Date.now();
console.log(uniqueID); // Outputs something like: JS1642525099387
- Автоинкремент базы данных.
Если вы работаете с базой данных, большинство баз данных предоставляют функцию автоматического приращения, которая генерирует для вас уникальные идентификаторы. Вы можете получить сгенерированный идентификатор из базы данных после вставки новой записи.
Создание уникальных идентификаторов в JavaScript — распространенное требование в веб-разработке. В этой статье мы исследовали десять различных методов: от использования временных меток и случайности до использования внешних библиотек и функций базы данных для генерации уникальных идентификаторов. Эти методы предлагают гибкость и возможности настройки для удовлетворения различных потребностей. Включив эти методы в свои проекты JavaScript, вы сможете обеспечить создание надежных и уникальных идентификаторов.