我如何使用JavaScript获取所有通往树叶的路径



如何使用JavaScript获取到树叶的所有路径?

我尝试使用arboreal软件包,但是如果有帮助,我可以简单地将其解析为一个数组或类似的东西。

我的数据看起来像这样:

      1
     / 
    2   3
   /   / 
  4   6   5
 /
7

我想获得这样的输出:

[1,2,4,7],[1,3,6],[1,3,5]

您可以访问所有节点,如果节点没有更多孩子,则可以在结果集中存储实际路径。

function getPath(object) {
    function iter(o, p)  {
        var keys = Object.keys(o);
        if (keys.length) {
            return keys.forEach(function (k) {
                iter(o[k], p.concat(k));        
            });
        }
        result.push(p);
    }
    
    var result = [];
    iter(object, []);
    return result;
}
var object = { 1: { 2: { 4: { 7: {} } }, 3: { 6: {}, 5: {} } } };
console.log(getPath(object));
.as-console-wrapper { max-height: 100% !important; top: 0; }

相关内容

  • 没有找到相关文章

最新更新