所以,我有一个关联数组,数组中的键是对象的属性。我想循环遍历数组,并在每次交互中执行以下操作:
Object.key
然而,这不起作用并导致返回undefined而不是属性的值。
有办法做到这一点吗?
答案 0 :(得分:10)
您可以使用for ... in循环:
for (var key in obj) {
//key is a string containing the property name.
if (!obj.hasOwnProperty(key)) continue; //Skip properties inherited from the prototype
var value = obj[key];
}
答案 1 :(得分:9)
您应该使用括号表示法属性访问器:
var value = object[key];
该运算符甚至可以计算表达式,例如:
var value = object[condition ? 'key1' : 'key2'];
更多信息:
不要忘记Array
对象的方法,期望使用数字索引,你可以添加任何属性名称,但它不是recommended,所以改为枚举一个Array对象(即var obj = [];
或var obj = new Array();
您可以使用简单的对象实例(即var obj = {}
或var obj = new Object();
。
答案 2 :(得分:2)
是。假设key
是一个字符串,请尝试myObject[key]