动态生成对象名称

时间:2011-08-11 07:02:37

标签: jquery json

我试图动态创建我的对象名称。下面是代码

var empdept = 'financialDept';

                var settings = { empdept :[{
                'name'       : 'bob',
                'sname'      : 'the builder',
                'age'        : '8',
                'req'        : 'yes'}]
            };

所以,如果我想显示这个警报的年龄(settings.financialDept.age);不起作用,但如果我有这样的代码片段

var settings = { 'financialDept' :[{

                'name'       : 'bob',
                'sname'      : 'the builder',
                'age'        : '8',
                'req'        : 'yes'}]
            };

现在如果我想显示这个警报的年龄(settings.financialDept.age);.这个有效。请真的需要帮助才能动态地完成它。任何帮助真的很感激。谢谢

3 个答案:

答案 0 :(得分:2)

尝试

 settings[empDept] = { // etc

答案 1 :(得分:1)

试试这样:

var empdept  = 'financialDept';
var settings = {};

settings[emdept] = [{
    'name'       : 'bob',
    'sname'      : 'the builder',
    'age'        : '8',
    'req'        : 'yes'
}];

答案 2 :(得分:0)

var o={key:value};

此处只有value可能是变量,而不是key

你可以做的是:

var empdept = 'financialDept';
var settings = {};
settings[empdept]={name:'bob',sname:'the builder',age:'8',req:'yes'};
alert(settings.financialDept.age);

我删除了额外的数组,因此您可以按照所描述的那样访问该值(而不是像示例中的settings.financialDept [0] .age)