Javascript 树模型js如何获取上一个节点id
我想从树中知道以前访问过的节点。 尝试下面的例子Javascript 树模型js如何获取上一个节点id,javascript,node.js,treemodel,Javascript,Node.js,Treemodel,我想从树中知道以前访问过的节点。 尝试下面的例子 var TreeModel = require('tree-model'); tree = new TreeModel(); rootMain = tree.parse({ id: 1, children: [ { id: "11", children: [{id: "111"}] }, { id: "12",
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,您可以使用
节点获得当前节点的父节点。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;
});