我正在尝试获取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中的值对应的值?
答案 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?