tengo una matriz que consiste de A LOT de Symbol
objetos:¿Cómo debo generar identificadores únicos para un grupo de objetos?
var symbols = {
alpha : new Symbol('alpha', 'symbol_0', 'α', 'GreekSymbol'),
beta : new Symbol('beta', 'symbol_1', 'β', 'GreekSymbol'),
gamma : new Symbol('gamma', 'symbol_2', 'γ', 'GreekSymbol'),
delta : new Symbol('delta', 'symbol_3', 'δ', 'GreekSymbol'),
... about 500 of these different types of symbols...
};
El segundo parámetro para el objeto Symbol
es una ID que se usará en HTML. Como las especificaciones HTML no permiten identificaciones duplicadas, deseo asignar a cada Symbol
una ID única y aún así poder saber que esta ID corresponde a Symbol
. Así que me gusta la idea de tener el prefijo symbol_
pero no me gusta la idea de escribir manualmente symbol_0
a través de symbol_500
.
¿Cómo debo generar identificaciones únicas? ¿Puedo automatizar este proceso y generar una identificación única cuando declaro la matriz anterior?
ACTUALIZACIÓN
¿Es realmente una buena idea hacer esto en el cliente?
¿Por qué no 'makeCounter' devolverá' 1' cada vez dado que restablece el valor de 'var i' cada vez que llama a la función? – Sir
Solo llama a 'makeCounter' * una vez *. Sucede aquí: 'var id = makeCounter();'. Después de eso, llamas a la función * devuelta * por 'makeCounter', que hemos asignado a' id'. Esta función * cierra * la variable 'i', lo que significa que cada invocación está incrementando el mismo contador. –