【发布时间】:2012-04-03 11:06:34
【问题描述】:
我正在尝试使用动态创建的字符串作为成员名称来创建新的对象成员:
> obA = {};
> obb = {name:'jim', age:22};
> var s = new String(obb.name);
> obb; //{ name: 'jim', age: 22 }
> obA.s = obb; //{ name: 'jim', age: 22 }
> obc = {name:'don', age:23};
> var c = new String(obc.name);
> obA.c = obc;
> obA;
outputs the folowing
{ s: { name: 'jim', age: 22 },
c: { name: 'don', age: 23 } }
在此示例中,我想将成员 'jim' 和 'don' 添加到 obA,而不是 's' 和 'c'。相反,我上面的调用添加了成员 's' 和 'c'。有没有办法动态命名成员,以便我可以在运行时添加 'jim' 和 'don' 而无需提前知道成员名称。在上面的示例中,我想从 'obA' 最后得到的是:
> obA;
// should output
{ jim: { name: 'jim', age: 22 },
don: { name: 'don', age: 23 } }
【问题讨论】:
标签: javascript object dynamic member