在javascript中关联数组与对象

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

在我的脚本中,需要创建一个哈希表,我在谷歌搜索这个。大多数人都在为此推荐JavaScript对象。问题是,散列表中的一些键具有“。” 在他们中。我可以用关联数组轻松创建这些键。

我不明白为什么关联数组不好。在我看到的网站中提到的第一件事是长度属性。我来自Perl背景,我使用哈希。最常见的用途是从键中获取值,检查键是否存在,删除键值对,添加键值对。如果这些是我常见的用途,我可以安全地使用关联数组吗?

提问于
用户回答回答于

在JavaScript中,对象是关联数组......对于它们没有单独的概念。你也可以安全地使用'。' 在关键名称中,但只能使用括号表示法访问该值:

var foo = {}
foo['bar'] = 'test';
foo['baz.bin'] = 'value';

alert(foo.bar); // shows 'test'
alert(foo['baz.bin']); // shows 'value'

如果你已经在使用它们并且它们能够工作,那么你很安全。

用户回答回答于

在JavaScript对象和数组几乎是相同的东西,数组有一些神奇的功能(autoupdating长度属性等)和适用于数组的原型方法。构建一个对象比使用关联数组要容易得多:

var obj = {"my.key": "myValue"};

VS

var obj = [];
obj["my.key"] = "myValue";

因此,绝对不要为此使用数组对象,而只使用常规对象。

一些功能:

var obj = {}; //Initialized empty object

删除键值对:

delete obj[key];

检查密钥是否存在:

key in obj;

获得关键价值:

obj[key];

添加一个键值对:

obj[key] = value;

扫码关注云+社区