Javascript 获取泛型树中节点的所有描述

Javascript 获取泛型树中节点的所有描述,javascript,tree,descendant,Javascript,Tree,Descendant,我需要将给定节点的所有子节点和节点本身保存在一个数组中。但这些节点必须按自下而上的顺序,即先离开,再返回内部节点的节点参数。 目前,我认为该方法可行,但节点的存储顺序是自顶向下的,而不是自底向上的: function operationsToInsert(node) { var operations = [node].reduce(operationsToInsertRec, []); return operations; } function operationsToInsert

我需要将给定节点的所有子节点和节点本身保存在一个数组中。但这些节点必须按自下而上的顺序,即先离开,再返回内部节点的节点参数。 目前,我认为该方法可行,但节点的存储顺序是自顶向下的,而不是自底向上的:

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]
(自下而上)


谢谢

移动。在reduce呼叫后按
?首先运行数组,然后在返回的过程中生成结果。@MarcB那么,我只需要移动
。如果
条件出现,请在
之后按
?我看不到你的图像。使用文本描述要好得多。@RobG我用树编辑了主消息。@lonely:是的。基本上
if();推();返回