使用变量访问JS对象

时间:2012-11-07 13:15:22

标签: 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'返回大量对象,我想从那里获取特定值。如果我取当前组相等的值,并按这样运行:

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

这是getSelectedGroupName函数:

function getSelectedGroupName(){
        var retval = null;
        $('#grouplist li a').each(function(){
            if($(this).parent().hasClass('group-selected'))
                retval=$(this).html();
        });
        return retval;
    }

它不起作用。我有什么基本的东西吗?如果您需要更多信息,请告诉我们!

2 个答案:

答案 0 :(得分:2)

使用此行

var currentgroup = actualvalue

您将actualvalue的当前值提供给currentgroup,并且不要将这两个元素指向同一属性!

如果您想使用currentgroup作为变量的占位符,则应使用此代替:

var currentgroup = 'actualvalue';
console.log(global_grouplist[currentgroup]);

这样,您可以将所需属性的名称作为字符串分配给currentgroup,并使用括号表示法来访问对象的相应属性。

答案 1 :(得分:1)

要以这种方式访问​​属性,您需要使用数组表示法。试试这个:

var currentgroup = getSelectedGroupName(); // Returns a string like: 'actualvalue';
console.log(global_grouplist[currentgroup])