获取通用树中节点的所有下降

时间:2015-10-22 21:48:00

标签: javascript tree descendant

我需要在一个数组中保存给定节点的所有后代节点和节点本身。但是这些节点必须按顺序自下而上,即在离开之前,然后内部节点返回到节点参数。 现在我采用这种方法,但节点按照自上而下的顺序存储,而不是自下而上:

function operationsToInsert(node) {
   var operations = [node].reduce(operationsToInsertRec, []);
   return operations;
}

function operationsToInsertRec(operations, node) {
   operations.push("i(" + node.nodeName + ")");
   if(node.childNodes && node.childNodes.length) {
      [].reduce.call(node.childNodes, operationsToInsertRec, operations);
   }
   return operations;
}

例如,如果我有这棵树:

    node
   /    \
  a      c
  |      |  
  b      d

该方法必须返回如下数组:[b, a, d, c, node][d, c, b, a, node](自下而上)。

谢谢!

0 个答案:

没有答案