通过变量引用对象

时间:2013-08-02 15:36:04

标签: javascript jquery

我的目标如下

var masterData = {      
    "region":[
            {"key":"1","value":"AMS"},
            {"key":"2","value":"APJ"},
            {"key":"3","value":"EMEA"}
    ]
};

var key = 'region';
var strList = 'masterData.'+key;

$.each($(strList), function(i, row) {
    alert(row.key); 
});

它没有进入循环,但如果我用实际对象替换变量,它就可以工作。例如:

$.each($(masterData.region), function(i, row) {
    alert(row.key);     
});

我想通过变量做同样的事情,就像第一个变量一样。我在这里缺少什么?

2 个答案:

答案 0 :(得分:4)

由于对象被视为关联数组,因此可以通过以下方式访问属性:

var key = 'region';
var strList = masterData[key];

Good Overview of Objects as Associative Arrays

答案 1 :(得分:-1)

这很有用

    $.each($(eval(strList)), function(i, row) {
    alert(row.key);     
    });