Javascript 使用变量访问JS对象
使用javascript中的变量访问特定对象时遇到问题。以下是我正在使用的代码:Javascript 使用变量访问JS对象,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,使用javascript中的变量访问特定对象时遇到问题。以下是我正在使用的代码: global_grouplist = getTenantGroupList(); console.log(global_grouplist) var currentgroup = getSelectedGroupName(); console.log(currentgroup) console.log(global_grouplist.currentgroup); “global_grouplist”返回一个大型
global_grouplist = getTenantGroupList();
console.log(global_grouplist)
var currentgroup = getSelectedGroupName();
console.log(currentgroup)
console.log(global_grouplist.currentgroup);
“global_grouplist”返回一个大型对象数组,我想从中获取一个特定的值。如果我取currentgroup将等于的值,并按如下方式运行它:
console.log(global_grouplist.actualvalue)
它给了我想要的。然而,当我这样做的时候
var currentgroup = actualvalue
console.log(global_grouplist.currentgroup)
这是getTenantGroupList()函数:
function getTenantGroupList(){
return jQuery.parseJSON($.ajax({
url: 'tenantgrouplist.json',
dataType: 'json',
async: false
}).responseText);
}
function getSelectedGroupName(){
var retval = null;
$('#grouplist li a').each(function(){
if($(this).parent().hasClass('group-selected'))
retval=$(this).html();
});
return retval;
}
下面是getSelectedGroupName函数:
function getTenantGroupList(){
return jQuery.parseJSON($.ajax({
url: 'tenantgrouplist.json',
dataType: 'json',
async: false
}).responseText);
}
function getSelectedGroupName(){
var retval = null;
$('#grouplist li a').each(function(){
if($(this).parent().hasClass('group-selected'))
retval=$(this).html();
});
return retval;
}
它不起作用。这里有什么基本的东西我遗漏了吗?如果您需要更多信息,请告诉我 要以这种方式访问属性,需要使用数组表示法。试试这个:
var currentgroup = getSelectedGroupName(); // Returns a string like: 'actualvalue';
console.log(global_grouplist[currentgroup])
要以这种方式访问属性,需要使用数组表示法。试试这个:
var currentgroup = getSelectedGroupName(); // Returns a string like: 'actualvalue';
console.log(global_grouplist[currentgroup])
在这一排
var currentgroup = actualvalue
您正在将actualvalue
的当前值指定给currentgroup
,并且不要使两个元素指向同一属性
如果要使用currentgroup
作为变量的占位符,则应改为使用此占位符:
var currentgroup = 'actualvalue';
console.log(global_grouplist[currentgroup]);
通过这种方式,您可以将所需属性的名称作为字符串分配给currentgroup
,并使用括号表示法访问对象的相应属性。
var currentgroup = actualvalue
您正在将actualvalue
的当前值指定给currentgroup
,并且不要使两个元素指向同一属性
如果要使用currentgroup
作为变量的占位符,则应改为使用此占位符:
var currentgroup = 'actualvalue';
console.log(global_grouplist[currentgroup]);
这样,您可以将所需属性的名称作为字符串指定给
currentgroup
,并使用括号表示法访问对象的相应属性。这太棒了!谢谢你的解释,这很有帮助。但是,如果我对实际值使用一个函数(var currentgroup=functionGettingActualValue())--这会如何改变呢?@streetlight只要函数以字符串形式返回属性标识符,它就不会改变任何东西。没关系--我只是用了你的符号,意识到我做错了。非常感谢您的耐心和帮助!这太棒了!谢谢你的解释,这很有帮助。但是,如果我对实际值使用一个函数(var currentgroup=functionGettingActualValue())--这会如何改变呢?@streetlight只要函数以字符串形式返回属性标识符,它就不会改变任何东西。没关系--我只是用了你的符号,意识到我做错了。非常感谢您的耐心和帮助!顺便说一句,如果您从服务器接收JSON(具有良好的头),则不必解析它,响应应作为Javascript对象出现。如果您从服务器接收JSON(具有良好的头),则不必解析它,响应应作为Javascript对象出现