2017-02-21 20 views
0

ツリーから以前に訪問したノードを知りたいと思っていました。私は私が、私はそれを親ノードを望んでいたノード111に通過すると仮定した場合、それは私の12 を返す必要があり、親ノードを望んでいたノード121及び122に通過すると仮定した場合の例以下tree-model-js以前のノードIDを取得する方法

var TreeModel = require('tree-model'); 
tree = new TreeModel(); 

rootMain = tree.parse({ 
    id: 1, 
    children: [ 
     { 
      id: "11", 
      children: [{id: "111"}] 
     }, 
     { 
      id: "12", 
      children: [{id: "121"}, {id: "122"}] 
     }, 
     { 
      id: "13" 
     } 
    ] 
}); 

にしようとして 私に返すべきである11 もし私がノード13に行き渡ったとすると、私は親ノードを望んでいましたが、それは私に返さなければなりません1

答えて

1

ツリーを横切って、現在のノードの親をnode.parentで得ることができます。

rootMain.walk(node => { 
    console.log('node id:', node.model.id); 

    if(node.parent) { 
    console.log('parent node id:', node.parent.model.id); 
    } 
}); 
+0

感謝を記録します...!私の仕事 –

0

これは、所望の親IDをあなたの助けのため

var parent_id; 

rootMain.walk(function (node) { 

    var current_id = node.model.id; 
    if (node.model.id === 121) 
     console.log(parent_id); 
     return true; 
    parent_id = current_id; 
}); 
関連する問題