gpt4 book ai didi

javascript - 在 Javascript 中创建一个包含树元素的数组

转载 作者:行者123 更新时间:2023-11-29 22:33:05 24 4
gpt4 key购买 nike

我需要用 Javascript 从树元素创建一个数组,作为新手我不知道如何实现。

伪代码:

function make_array_of_tree_node(tree_node)
{
for (var i = 0; i < tree_node.childCount; i ++) {
var node = tree_node_node.getChild(i);
if (node.type ==0) {
// Here I'd like to put a link (node.title) in an array as an element
} else if (node.type ==6) {
// Here the element is a folder so a I need to browse it
make_array_of_tree_node(node)
}
}
}

// Some code
make_array_of_tree_node(rootNode);
// Here I'd like to have access to the array containing all the elements node.title

最佳答案

你可以这样声明一个数组:

var nodes = [];

然后你可以向它添加东西:

nodes.push(something);

添加到数组的末尾;从这个意义上说,它有点像一个列表。您可以通过数字索引访问元素,从零开始。数组的长度是为你维护的:

var len = nodes.length;

您可能想要做的是让数组成为函数的另一个参数。

编辑 — 为了说明该模式,如果您有一个递归函数:

function recursive(data, array) {
if ( timeToStop ) {
array.push( data.whatever );
}
else {
recursive(data.subData, array);
}
}

然后您可以使用第二个 函数作为其他代码将使用的真正API:

function actual(data) {
var array = [];
recursive(data, array); // fills up the array
return array;
}

此外,在 JavaScript 中,将“递归”函数放在“实际”函数中是很常见的,这使得递归部分私有(private)并保持全局命名空间更干净。

关于javascript - 在 Javascript 中创建一个包含树元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6252644/

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