Javascript 使用变量访问JS对象

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”返回一个大型

使用javascript中的变量访问特定对象时遇到问题。以下是我正在使用的代码:

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对象出现