2016-11-09 8 views
0

私には奇妙な問題がありますが、それはわかりません。 JavaScriptでJSONオブジェクトを作成したいと思います。私のコード例:JavaScriptでJSONを作成する

$(document).ready(function(){ 

var myJson = new Object(); 
var data = new Object(); 
myJson.items = []; 

data.name = 'test'; 

for (i = 0; i < 5; i++){ 
    data.counter = i; 
    myJson.items.push(data); 
} 
console.log(JSON.stringify(myJson)); 

}); 

出力:

{"items":[{"name":"test","counter":4},{"name":"test","counter":4},{"name":"test","counter":4},{"name":"test","counter":4},{"name":"test","counter":4}]} 

JSONでカウンタ変数は、常に値てきたのはなぜ4 ??????あなたは、常に同じデータオブジェクト
に取り組んでいる

+0

変更するプロパティは常に同じ 'data.counter'です。 – Teemu

答えて

4

代わりにも入れて、上記の1コメント、forループvar data = new Object();内部の新しいオブジェクトを作成するループで

var myJson = new Object(); 
 

 
myJson.items = []; 
 

 

 

 
for (i = 0; i < 5; i++){ 
 
    var data = new Object(); 
 
    data.name = 'test'; 
 
    data.counter = i; 
 
    myJson.items.push(data); 
 
} 
 
console.log(JSON.stringify(myJson));

+0

オブジェクトを作成し、それらを配列にプッシュすると、 '' JSON.stringify''もオプションです。 – Crowes

+0

ああ...何の間違い...もちろん...愚かな私... –

1

をデータオブジェクトの初期化を入れてみてくださいdata.name = 'test'; forループ内

関連する問題