¿Cómo generar identificadores únicos con JavaScript?

publicado por: Anonymous

Estoy trabajando en un componente HTML con JavaScript. Dicho componente va a aparecer múltiples veces en la página (en el orden de cientos o puede que miles), y me interesa que cada uno de ellos tenga un identificador único.

Hasta el momento estoy creando los ID únicos (UIDs) generando un número aleatorio para cada uno de los componentes y asignándoselo como ID. Algo como esto:

var UID = "componente-" + Math.floor(Math.random() * 999999);
miComponente.id = UID;

Pero este método tiene problemas importantes porque podría darse el caso de que alguno de los IDs podría repetirse. Como poco debería añadir una comprobación para asegurarme de que no se repiten los IDs, pero aparte de eso ¿qué otro método hay para generar identificadores únicos? ¿Existe alguna función nativa en JavaScript que lo haga? (algo como el uniqid de PHP).

solución

Existe actualmente una librería para generar UUIDs que implementa el estándar RFC4122. Su uso es muy sencillo, solo basta con añadir la librería y usar los métodos v1 y v4 de acuerdo a la versión que se quiera generar.

_x000D_

_x000D_

console.log('UUID v1:', uuid.v1());_x000D_
console.log('UUID v4:', uuid.v4());

_x000D_

<script src="https://cdnjs.cloudflare.com/ajax/libs/node-uuid/1.4.7/uuid.min.js"></script>

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *