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();推();返回代码>