Javascript 按顺序遍历结果返回树
我是Javascript新手。下面我有一段代码,它使用顺序遍历方法递归遍历我的树,并使用document.write打印结果。我的问题不是打印结果,我只想返回结果供进一步使用。我怎么做Javascript 按顺序遍历结果返回树,javascript,data-structures,Javascript,Data Structures,我是Javascript新手。下面我有一段代码,它使用顺序遍历方法递归遍历我的树,并使用document.write打印结果。我的问题不是打印结果,我只想返回结果供进一步使用。我怎么做 function inOrder(node) { if (!(node == null)) { inOrder(node.left); document.write(node.toString()); inOrder(node.right); } }
function inOrder(node) {
if (!(node == null)) {
inOrder(node.left);
document.write(node.toString());
inOrder(node.right);
}
}
谢谢你的帮助。非常感谢=)您可以使用数组作为结果
function getAllNodes(node) {
function inOrder(node) {
if (node) {
inOrder(node.left);
result.push(node.toString()); // push instead of output.
inOrder(node.right);
}
}
var result = [];
inOrder(node);
return result;
}
另一种解决方案是向函数中添加一个参数,并将结果收集到数组中
function inOrder(node, result) {
if (node) {
inOrder(node.left, result);
result.push(node.toString());
inOrder(node.right, result);
}
}
var result = [];
inOrder(node, result);
以字符串形式显示结果
function getAllNodes(node) {
function inOrder(node) {
if (node) {
inOrder(node.left);
result += node.toString() + ', ';
inOrder(node.right);
}
}
var result = '';
inOrder(node);
return result;
}
谢谢你,尼娜。今天学到了新的一课=)尼娜,有没有办法不使用数组?因为我只需要返回字符串格式的结果。Thank you=)是的,可以在方案1中使用字符串而不是数组,也可以在方案2中使用数组。