0

オブジェクトのリストを作成するためのデータを探しています。親オブジェクト内にいくつかのオブジェクトを追加したいと考えています。内部オブジェクトは作成されますが、プロパティは作成されません...

これは私がやろうとしていることです:

for(var i in data){
    if(parseInt(data[i].prevr) == 0){
        nodes[data[i].id] = new Object();
        nodes[data[i].id].name = data[i].name;
        nodes[data[i].id].child = new Object();
    }else if(parseInt(data[i].prevr) > 0){  
        console.log('test');
        nodes[data[i].prevr].child[data[i].id] = new Object();
        nodes[data[i].prevr].child[data[i].id].name = data[i].name; 
    }
 }
console.log(JSON.stringify(nodes[5]));

結果は、console.log に次のように表示されます。

test
{"name":"Test2","child":{}} 

子オブジェクトのデータを作成しないのはなぜですか?

私の変数dataは次のとおりです。

[{"id":"3","name":"Test2","prevr":"0"}
{"id":"4","name":"Test3","prevr":"3"}]
4

1 に答える 1

0
for(var i in data){
    if ( !data.hasOwnProperty(i) ) continue;

    if ( parseInt(data[i].prevr, 10) == 0 ) {
        nodes[data[i].id] = { name: data[i].name, child : {} };
    }
    else if ( parseInt(data[i].prevr, 10) > 0 ) {  
        console.log('test');
        nodes[data[i].prevr].child[data[i].id] = { name: data[i].name };
    }
 }
console.log(JSON.stringify(nodes[5]));
于 2013-02-01T05:38:30.250 に答える