Quiero crear un objeto, a partir de algo como:Javascript: multidimensional objeto
var map = {};
Entonces, quiero añadir elementos con esta función:
add = function(integerA, objectB) {
map[objectB.type][integerA] = objectB;
}
lo tanto, esto es un ejemplo al azar de la estructura del objeto que quiero lograr:
map = {
'SomeType' : { 0 : 'obj', 2 : 'obj', 3 : 'obj' },
'OtherType' : { 0 : 'obj', 5 : 'obj' },
};
Ahora, mi problema. No puedo hacer map[objectB.type][integerA] = objectB;
porque map[objectB.type]
no está definido. Podría resolver esto marcando si existe map[objectB.type]
a través de un enunciado if y crear map[objectB.type] = {};
cuando sea necesario.
De lo contrario, podría precargar todos los tipos de objetos. Sin embargo, preferiría no tener que hacer esto.
Mi pregunta: ¿hay alguna manera de crear el objeto "sobre la marcha" sin tener que verificar si el tipo ya existe cada vez que deseo llamar a la función add
o precargar todos los tipos?
Es importante que mi función de agregar sea lo más rápida posible y que el objeto del mapa sea correcto, porque necesito leer y escribir mucho en poco tiempo (es una aplicación de animación/juego).
¿está seguro de que será un problema de rendimiento? si yo fuera tú, lo probaría primero y ver si es un problema. al final del día, o tendrá que hacer el cheque, o el motor de JavaScript, por lo que las instrucciones deberán procesarse igualmente –
este enlace tiene la respuesta para su pregunta http://stackoverflow.com/questions/7744611/pass-variables-by-reference-in-javascript –