Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按顺序遍历结果返回树_Javascript_Data Structures - Fatal编程技术网

Javascript 按顺序遍历结果返回树

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); } }

我是Javascript新手。下面我有一段代码,它使用顺序遍历方法递归遍历我的树,并使用document.write打印结果。我的问题不是打印结果,我只想返回结果供进一步使用。我怎么做

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中使用数组。