目前我正在使用一个对象来模拟关联数组。 该对象的作用类似于 mysql 中的一对多关系表 例如:
var obj = {
105: [],
200: []
//...
}
我的属性名称只是数字,所以我发现我也可以使用数组。
但是索引之间的空条目将被 undefined
填充。
var arr = [];
arr[10] = "Value";
arr[15] = "Value 2";
//arr => [undefined*10, "Value", undefined*4, "Value 2"]
因此,当我要迭代该数组时,我必须检查当前索引处的值是否已设置。
所以问题是,哪种解决方案更快或更好。
使用对象或数组,其中
索引之间的空白区域填充有未定义
值。
最佳答案
如果您需要键值关联,则需要一个对象。
如果您想要一个其中键并不重要的有序列表,那么它就是一个数组。
仅供引用,数组中集合索引“之间”的索引实际上并未用undefined
“填充”;当您尝试访问任何对象上不存在的属性时,您只会得到 undefined
值:
({}).foo; // undefined
关于JavaScript "Associative"对象与数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214306/