2012-03-18 9 views
0

追加する際にどのように動的メンバーに名前を付ける:私はメンバーを追加したいと思います。この例ではJSオブジェクト:私はメンバー名として動的に作成された文字列で新しいオブジェクトメンバを作成しようとしているプロパティ

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

'ジム''ドン'に大場、ない'S''C'。代わりに上記の私の呼び出しは、メンバーの '' c 'を追加します。動的にメンバーに名前を付けて、事前にメンバー名を知らずに実行時に'jim''don'を追加できるようにする方法がありますか?私が最後に「OBA」から上記の例でから欲しいのです:

> obA; 
    // should output 
     { jim: { name: 'jim', age: 22 }, 
      don: { name: 'don', age: 23 } } 
+0

'OBA [C] = OBC;' – kirilloid

答えて

1
obA[obb.name] = obb; 
obA[obc.name] = obc; 
+0

おかげで、私が望んでいたまさに。 – JJRutter

3

使用ブラケット表記。

obj['property'] = value; 
2

ドットの代わりに[]を試してください。

obA[s] = obb; 
obA[c] = obc; 
関連する問題