此刻我正在使用对象来模拟关联数组。 对象就像一个一对多的关系表从MySQL 例如:JavaScript“关联”对象与阵列
var obj = {
105: [],
200: []
//...
}
我的属性名称是唯一的数字,所以我发现我可以用一个数组,太。 但是,索引之间的空条目填充undefined
。
var arr = [];
arr[10] = "Value";
arr[15] = "Value 2";
//arr => [undefined*10, "Value", undefined*4, "Value 2"]
因此,当我要迭代该数组时,我必须检查当前索引值是否已设置。
所以问题是,哪个解决方案更快或更好。 使用一个对象或数组,其中 指针之间的空白区域填充了undefined
值。
http://stackoverflow.com/a/8067678/3166303 – leeor
在你的案例对象应该使用更少的内存。迭代两个结构大部分是相同的,但是您必须记住,JavaScript中的对象属性没有顺序。 – VisioN
[查看此链接的问题](http://stackoverflow.com/questions/17295056/array-vs-object-efficiency-in-javascript) –