Javascript 通过变量引用对象
我的目标如下Javascript 通过变量引用对象,javascript,jquery,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), fun
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);
});
我想通过一个变量做同样的事情,就像第一个一样。我在这里遗漏了什么?由于对象被视为关联数组,因此可以通过键以以下方式访问属性:
var key = 'region';
var strList = masterData[key];
这起作用了
$.each($(eval(strList)), function(i, row) {
alert(row.key);
});
我认为他们不应该为此使用
eval
,这真的没有必要。这不是JSON。这是一个对象文本。不幸的是,许多人错误地将对象文本与JSON混淆。看见