我有一个结构像这样的对象
{
this.parent: undefined,
this.nodes: []
}
内部nodes
可以是具有相同结构的任意数量的对象,但 parent 将设置为以节点数组作为其属性的对象的对象。由于对象遵循此模式,因此顶级对象可能具有可能非常深的嵌套节点。
我想向顶级对象添加一个方法,该方法将反向搜索所有节点。下面是我试图实现的一个示例,除了此功能正在向前搜索。
{
this.parent: undefined,
this.nodes: [],
this.searchForward: function() {
this.nodes.forEach(function(node) {
this.searchForward.call(this, node);
}, this);
}
}
上面的searchForward
函数将搜索所有节点尽可能深,然后移动到队列中的下一个节点等等等等。
我正在尝试编写一个函数,该函数将从最深的孩子递归搜索到父母(基本上是上面的反向)。
任何让我开始的想法都会很棒,谢谢。