如何使用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; }