gpt4 book ai didi

Javascript - 遍历数组的分层对象

转载 作者:行者123 更新时间:2023-11-29 23:30:28 24 4
gpt4 key购买 nike

我继承了一些 JavaScript 代码。它根据json数据绘制层次树(使用D3 version 3库)。该代码有效。我需要做一个小的修改,但是如何修改是个问题。我有一个名为 treeData 的对象。 treeData 是树中节点的分层列表。每个节点都有属性,例如名称、ID、深度、x、y 和子节点。 children是一个数组,指向当前节点的子节点。所以 child 可以有 child ,可以有 child ,等等。如果我查看 treeData 对象,我会看到“根”节点,我看到它有 10 个 child 。

enter image description here

children数组在结构上和parent是一样的。。。这就是展开第一个child,我看到它有3个child。我的数据通常有 3-4 层深。 enter image description here

我的挑战是我需要对树中的所有节点运行一个函数。我确信有一种优雅的方式可以做到这一点,但我不知道它会是什么......我需要类似......

var myNode;
for (var zz = 0; zz <= treeData.children.length; zz++) {
myNode = treeData.children[zz];
collapseNode(myNode);
}

问题是这只是查看一个级别,而不是遍历层次结构...我如何重写它以访问层次结构中的每个节点?

最佳答案

试试这个-

function traverse(o) {
for (i in o) {
// if o is an object, traverse it again
if (!!o[i] && typeof(o[i])=="object") {
console.log(i, o[i])
traverse(o[i]);
}
}
}

关于Javascript - 遍历数组的分层对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47554551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com