从Javascript对象获取未定义的值

时间:2015-04-25 21:57:40

标签: javascript

我正在尝试获取Javascript对象的属性值。

我的代码是这样的:

for (key in map.regions) {
    console.log(key);
    console.log(states);
    console.log(states.key);
}

变量键类似于"US-VA"

变量状态看起来像这样:

Object {US-VA: Object, US-PA: Object, US-TN: Object, US-ID: Object, US-NV: Object…}

(这是来自Chrome)。

但是每当我在states.key上使用console.log时 - 它应该得到该键所代表的对象,我会得到未定义的。

我在这里做错了什么?如何从states变量中获取与key中的值对应的值?

2 个答案:

答案 0 :(得分:5)

如果您的浏览器控制台日志显示states的定义与您说的相同,请使用states[key]代替states.key

states.key会找到带有文字键“key”的属性。

states[key]会找到包含变量key值的键的属性。

答案 1 :(得分:0)

您需要在此处使用括号表示法来获取按键值

console.log(states[key]);

以及为什么需要这样做,请点击JavaScript property access: dot notation vs. brackets?