已知叶子节点的信息,如何获取相应分支的所有节点的信息?
最近遇到个需求,数据结构是一个树形的结构。
是我点击某个子节点,需要获取相应分支的所有节点的某个属性值。数据结构如下图。
let a = {
"type": "root",
"value": 1,
"level":0,
"leafNode": false,
"children": [
{
"type":"second",
"value":2,
"level":1,
"leafNode": true
},
{
"type":"second",
"value":2,
"level":1,
"leafNode": false,
"children": [
{
"type":"third",
"value":3,
"level":2,
"leafNode": true
}
]
}
]
}
比如说我点击E获取到了E的层级和信息。如何同时获取相应分支(B和A)的信息?求大神赐教。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
直接存个父节点的引用呗,如果你不在乎循环引用的话。
第二种办法是维护一个weakMap,其中key是每个节点的key,value是节点。然后只需要存父节点的key即可,要用的时候拿着key来找。相当于手动实现了一个指针。