我想创建一个对象,从像开始:的Javascript:多维对象
var map = {};
然后,我想利用这个功能添加项目:
add = function(integerA, objectB) {
map[objectB.type][integerA] = objectB;
}
所以,这是我想实现的对象结构的一个随机示例:
map = {
'SomeType' : { 0 : 'obj', 2 : 'obj', 3 : 'obj' },
'OtherType' : { 0 : 'obj', 5 : 'obj' },
};
现在,我的问题。我不能做map[objectB.type][integerA] = objectB;
,因为map[objectB.type]
没有定义。我可以通过if语句检查map[objectB.type]
是否存在并在必要时创建map[objectB.type] = {};
来解决此问题。
否则,我可以预加载所有对象类型。不过,我宁愿不必这样做。
我的问题:有没有办法可以创建对象,而不必检查每次我想调用add
函数时是否已经存在类型或预加载所有类型?
重要的是我的添加功能是如此之快以及地图对象是正确的,因为我需要在很短的时间内读取和写入很多东西(这是一个动画/游戏应用程序)。
你确定它会是一个性能问题吗?如果我是你,我会先尝试一下,看看它是否有问题。在一天结束时,无论你需要做检查,或JavaScript引擎,所以说明将需要处理 –
这个链接有你的问题的答案 http://stackoverflow.com/questions/7744611/pass-variables-by-reference-in-javascript –