JavaScript "Associative"对象与数组

标签 javascript arrays object

目前我正在使用一个对象来模拟关联数组。 该对象的作用类似于 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/

相关文章:

python - 使用 numpy 数组调用 lambda

javascript - 计算嵌套js对象中项目的长度

mysql - 如何在 MySQL 表中存储 php 对象?

javascript - 在 Javascript 中获取/设置对象深层属性的最佳方法是什么?

javascript - 如何将这个参数传递给这个函数?

javascript - Google map 高级版 - 为什么 - "The signature parameter is not required for the Google Maps JavaScript API"

python - 当作为参数传递给函数时获取 numpy 结构化数组列的名称

javascript - Node.js中post方法接收多个参数

javascript - 如何通过 jquery ajax 以及 MVC 模型传递 formData(fileupload)

c++ - 常量对象使什么常量?