在Javascript中,如何转换字符串以便可以用来调用属性?

时间:2010-04-19 00:59:36

标签: javascript properties string

所以,我有一个关联数组,数组中的键是对象的属性。我想循环遍历数组,并在每次交互中执行以下操作:

Object.key

然而,这不起作用并导致返回undefined而不是属性的值。

有办法做到这一点吗?

3 个答案:

答案 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]