2

我的对象如下

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);     
});

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

4

2 回答 2

4

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

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

对象作为关联数组的良好概述

于 2013-08-02T15:37:33.273 回答
-1

这行得通

    $.each($(eval(strList)), function(i, row) {
    alert(row.key);     
    });
于 2013-08-02T15:41:36.170 回答