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 回答