【发布时间】:2015-10-22 20:13:16
【问题描述】:
当我从一个节点递归遍历一个通用树到他的所有孩子时,我必须填充一个字符串数组。在实践中,在从节点到叶子匹配的每个节点处,在 DOM 树中插入一个字符串。 我知道这是一个微不足道的问题,但我无法解决。 这是我写的代码:
function operationsToInsert(node) {
var operations = [];
operationsToInsertRec(node, operations);
return operations;
}
function operationsToInsertRec(node, operations) {
var childNodes = node.childNodes;
operations.push("i(" + node.nodeName + ") ");
for(var i = 0; i < childNodes.length; i++) {
operationsToInsertRec(childNodes[i], operations);
operations.push("i(" + childNodes[i].nodeName + ")");
}
}
但是有如下错误:
Uncaught TypeError: Cannot read property 'push' of undefined at line operations.push("insert(" + node.nodeName + ") ");
我该如何解决? 谢谢
【问题讨论】:
-
在你的 for 循环的第一行,你没有检索到 operationsToInsert 返回的值。
-
@James 你能解释得更好吗?没看懂。。
标签: javascript arrays recursion