En esta página:
Demo Github
Cuando manejamos datos con JavaScript y no solo en este lenguaje, sino también en otros lenguajes de programación en donde gestionamos datos, a veces necesitamos asignarles un identificador, por diferentes motivos, uno de los motivos más comunes, es evitar la duplicidad de los datos, ya que puede generar confictos o reemplazarse entre sí. En este Post te enseñare a Como Generar Un ID Único (Unique Key) con JavaScript, vamos con ello.
Antes de continuar te invito a leer los siguientes artículos:
- Función Pura VS Función Impura en JavaScript
- Como Detectar Si El Usuario Cambia de Pestaña En El Navegador Con JavaScript
- Como Crear Un PDF con window.print() de JavaScript
- Mostrar un Mensaje en Una Determinada Fecha con Javascript (Con Imagen)
- 5 Expresiones Regulares Que Deberías Conocer en JavaScript
- Como crear el Efecto modo Oscuro – Claro en un Sitio Web (Mantener el modo seleccionado en las demás Páginas)
- Como Verificar si 2 Contraseñas Coinciden o son Iguales con JavaScript
- 5 Cosas que Talvez no Sabías sobre try-catch-finally en JavaScript
- Cual es la Diferencia entre == vs === en JavaScript
- Generar una URL Amigable (Slug) usando un determinado Texto con JavaScript
- Puedes leer más en la categoría JavaScript
Antes de continuar, te invito a escuchar el Podcast: “5 Consejos para ser un Programador más Productivo” (No son los clásicos consejos técnicos de programación, si no de rutinas y buenos hábitos cotidianos) y “¿ Porqué Es Importante Saber Programar en la Ciberseguridad ?” (Anchor Podcast):
Spotify: | Sound Cloud: | Apple Podcasts | Anchor Podcasts |
Bien ahora continuemos con el Post: Como Generar Un ID Único (Unique Key) con JavaScript.
En JavaScript existen diferentes maneras de crear un ID único (unique key), te voy a compartir 2 soluciones a continuación. Haré uso de funciones arrow de JavaScript. Una función arrow es una manera más rápida y práctica de crear funciones en JavaScript. Si quieres aprender más sobre función arrow o flecha, te recomiendo ver este video del Curso Gratuito de JavaScript desde 0:
Ahora pasemos a lo que venimos.
Solución 1
Usaremos la función Math.ramdom() y le pasamos el método toString() y substring():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
generarIdUnico1 = () => { return Math.random().toString(30).substring(2); } // Llamamos a la función 'generarIdUnico1()' generarIdUnico1(); // Obtenemos '7n805l8n5f2' // Obtenemos 'nnh1gb98a19' // Obtenemos 'l148n037ak19' |
En el código anterior, puedes ver que cuando llamamos a la función generarIdUnico() se nos genera un identificador único. Cada ves que llamamos a la función generarIdUnico() se nos generará un id único.
Si buscas un identicador más largo y personalizado, te recomiendo seguir la solución 2.
Solución 2
Si deseas crear ids más grandes o largos, esta solución te ayudará. Asimismo la puedes personalizar con guiones o sin guiones. Hago uso de varias letras n para definir el largo del identificador, mientras más letras n agregres, más grande será el identificador.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
generarIdUnico2 = () => { return 'nnnnnnnnnnnnnnnnnnnnnnnnnnnnn-nnnn-7nnn-tnnn-nnnnnnnnnnnn'.replace(/[nt]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'n' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } // Llamamos a la función 'generarIdUnico2()' generarIdUnico2(); // Obtenemos '8e6fd0abda72f77c628a16aaa3757-1bad-7ed1-ac8f-a2e2304dc9e6' // Obtenemos 'de874467a3af8ff4e60b1e642e8ce-0da1-7b23-bea1-863eb3d602b5' // Obtenemos '2cf68cd4fed2dade46604c5f3ffdc-af30-71a3-bb48-b7fc61fcdeef' |
En el código anterior, cada ves que llamamos a la función generarIdUnico() se nos genera un identificador único. Hago uso de la función Math.ramdom(), el método .replace() y toString().
Conclusión
En este Post, hemos aprendido a crear strings o identificadores únicos con el lenguaje de programación JavaScript. La mejor manera de dominar estas formas, es usándolas en tus proyectos.
Nota (s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.