我想知道从树上访问的节点。尝试以下示例
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"
}
]
});
如果假设我穿过节点121和122我想要父节点,那么它应该返回我12如果假设我穿过节点111我想要父节点,那么它应该返回我11如果假设我穿过节点13我想要父节点,那么它应该返回我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);
}
});
这会记录所需的父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;
});