无法在对象内添加对象

时间:2013-02-01 05:34:48

标签: javascript

我正在寻找一些数据来创建一个对象列表,我想在父对象中添加一些对象。虽然创建了内部对象,但是没有任何属性可以用它创建......

这就是我想要做的事情:

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

1 个答案:

答案 0 :(得分: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]));