2016-10-23 8 views
0

私はオブジェクトオブジェクトに新しいプロパティを追加するには?

let data = { 
        "data 1": { 
         "row1": "aaaa", 

        }, 
        "data 2": { 
         "row3": "nnnnn", 

        } 
       } 

を持っていると私はそのようなオブジェクトを取得するには、動的名前とヴァルスといくつかのプロパティを追加したい:

let data = { 
        "data 1": { 
         "row1": "aaaa", 
         "row2": "bbbb", 
        }, 
        "data 2": { 
         "row3": "nnnnn", 
         "row4": "sssss", 
         "row11": "bbb", 
         "eeee": "ffff" 
        }, 
        "dynamic1": { 
         "dyn_2": "dyn_val_1", 
         "dyn_3": "dyn_val_2" 
        } 
       } 

私はこのコードを試してみましたが、それはデータOBJを上書き最後の値を追加する代わりに

 responseJson.results.forEach(function (value) { 

       data[value.date] = { [value.event_id] : [value.name] }; 

      }) 
+0

だけでなく 'responseJson'を追加してください。 –

+0

あなたのデータはrespondJson.resultsですか?または配列? –

+0

@FelixKlingいいえ、新しいオブジェクト "dynamic1"を追加したいとします。{ "dyn_2": "dyn_val_1"、 "dyn_3": "dyn_val_2" } – SERG

答えて

3

このプロパティを上書きしないでください。代わりに、オブジェクトに追加します。

responseJson.results.forEach(function (value) { 
    if (!data[value.date) { 
    data[value.date] = {}; 
    } 
    data[value.date][value.event_id] = value.name; 
}); 

関連:How can I add a key/value pair to a JavaScript object?

+0

ありがとうございます。それだけが必要。 – SERG

関連する問題