1
如何使用Javascript获取树叶的所有路径?如何使用Javascript获取树叶的所有路径?
我试图使用arboreal
包,但我可以简单地解析它到一个数组或类似的东西,如果它有帮助。
我的数据是这样的:
1
/\
2 3
//\
4 6 5
/
7
我想要得到这样的输出:
[1,2,4,7],[1,3,6] [1,3,5]
如何使用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; }
什么是您的输入真正的样子?你试过什么了? – Erazihel
真实的输入是复杂的,但分解看起来像那样。后来我想获得节点的一些值并对其进行总结,等等。你想知道关于输入的是什么? – Florian
无法告诉你如何在不知道输入的情况下获得输出。 – Erazihel