如何使用Javascript获得所有path到树叶?

如何使用Javascript获得所有path到树叶?

我试图使用arboreal包,但我可以简单地parsing它到一个数组或类似的东西,如果有帮助。

我的数据如下所示:

  1 / \ 2 3 / / \ 4 6 5 / 7 

我想得到这样的输出:

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

您可以访问所有节点,如果该节点没有更多的子节点,则可以将实际path存储在结果集中。

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