在JavaScript中实现树(Tree)结构通常有两种主要方式:使用对象字面量和使用类(Class)。以下是两种常见的实现方式:
// 创建一个树节点
function TreeNode(data) {
this.data = data;
this.children = [];
}
// 添加子节点
TreeNode.prototype.addChild = function(childNode) {
this.children.push(childNode);
};
// 示例:创建树结构
let root = new TreeNode('root');
let child1 = new TreeNode('child1');
let child2 = new TreeNode('child2');
let grandChild1 = new TreeNode('grandChild1');
root.addChild(child1);
root.addChild(child2);
child1.addChild(grandChild1);
class TreeNode {
constructor(data) {
this.data = data;
this.children = [];
}
addChild(childNode) {
this.children.push(childNode);
}
}
// 示例:创建树结构
let root = new TreeNode('root');
let child1 = new TreeNode('child1');
let child2 = new TreeNode('child2');
let grandChild1 = new TreeNode('grandChild1');
root.addChild(child1);
root.addChild(child2);
child1.addChild(grandChild1);
function preOrderTraversal(node) {
if (node === null) return;
console.log(node.data); // 访问根节点
for (let child of node.children) { // 递归遍历子节点
preOrderTraversal(child);
}
}
// 使用示例
preOrderTraversal(root); // 输出: root, child1, grandChild1, child2
领取专属 10元无门槛券
手把手带您无忧上云