简体   繁体   English

动态生成 object 名称

[英]to generate object name dynamically

im trying to create my object name dynamically.我试图动态创建我的 object 名称。 below is code下面是代码

var empdept = 'financialDept';

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

so if i want to show the age like this alert(settings.financialDept.age);所以如果我想显示这个警报的年龄(settings.financialDept.age); is not working, but if i have the above snippet code like this不工作,但如果我有上面这样的代码片段

var settings = { 'financialDept' :[{

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

and now if i want to show the age like this alert(settings.financialDept.age);.现在,如果我想显示这个警报(settings.financialDept.age)的年龄;。 this one works.这个有效。 please really need help to do it dynamically.请真的需要帮助才能动态地做到这一点。 any help really appreciated.任何帮助真的很感激。 thanks谢谢

Try尝试

 settings[empDept] = { // etc

Try it like this:试试这样:

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

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

here only value may be a variable, not key .这里只有value可能是一个变量,而不是key

what you can do is this:你可以做的是:

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

I removed the extra array so you can access the value as you described (not settings.financialDept[0].age as in your example)我删除了额外的数组,以便您可以按照您的描述访问该值(而不是您的示例中的 settings.financialDept[0].age)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM