遍历树

Posted xu-nian-qin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遍历树相关的知识,希望对你有一定的参考价值。

遍历树结构数据

技术图片

 

    watch: {
            props(nv, ov) {
                console.log(nv);
                console.log(nv.inventories[0].tree,‘-------------------------tree‘);
                if(nv.inventories.length != 0){
            //list为循环的树的数据
                    this.list = this.treeToList(nv.inventories[0].tree).reverse();
                }else{
                    this.list = [];
                }               
            },
            uuid(nv, ov) {
                // console.log(nv, ‘-----uuid‘);
                this.idcs = nv;
            }
        },
        mounted() {

        },
        methods: {
            toaddSnap() {
                this.$router.push({
                    path: "/addSnap",
                    query: {
                        id: this.idcs,
                    }
                });
            },
            treeToList(tree) {
                var queen = [];
                var out = [];
                queen = queen.concat(tree);
                while (queen.length) {
                    var first = queen.shift();
                    console.log(first.children,‘--------first‘);
                    if (first.children) {
                        queen = queen.concat(first.children);
                        delete first["children"];
                    }
                    out.push(first);
                }
                return out;//为循环的树结构数组
            },

contact方法:

concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

 

shift方法:

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

语法:arrayObject.shift()

 

children 属性返回元素的子元素的集合,是一个 htmlCollection 对象。

 

reverse 颠倒数据排序

 

 

以上是关于遍历树的主要内容,如果未能解决你的问题,请参考以下文章

二叉树层次遍历(包含C语言实现代码)

二叉树遍历和延伸

遍历霍夫曼树

解释 Haskell 广度优先编号代码遍历树

二叉树遍历(前序中序后序层次深度优先广度优先遍历)

树二叉树遍历算法(深度优先广度优先遍历,前序中序后序层次)及Java实现