GOOGLE ADS

viernes, 15 de abril de 2022

Crea un número único con javascript time

Necesito generar números de identificación únicos sobre la marcha usando javascript. En el pasado, hice esto creando un número usando el tiempo. El número estaría compuesto por el año de cuatro dígitos, el mes de dos dígitos, el día de dos dígitos, la hora de dos dígitos, el minuto de dos dígitos, el segundo de dos dígitos y el milisegundo de tres dígitos. Entonces se vería así: 20111104103912732... esto daría suficiente certeza de un número único para mis propósitos.

Ha pasado un tiempo desde que hice esto y ya no tengo el código. ¿Alguien tiene el código para hacer esto o tiene una mejor sugerencia para generar una identificación única?


Solución del problema

La forma más corta de crear un número del que puede estar bastante seguro de que será único entre tantas instancias separadas como pueda pensar es

Date.now() + Math.random()

Si hay una diferencia de 1 milisegundo en la llamada de función, se garantiza al 100 % que se generará un número diferente. Para las llamadas de función dentro del mismo milisegundo, solo debe comenzar a preocuparse si está creando más de unos pocos millones de números dentro de este mismo milisegundo, lo cual no es muy probable.

Para obtener más información sobre la probabilidad de obtener un número repetido en el mismo milisegundo, consulte https://stackoverflow.com/a/28220928/4617597

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...