码迷,mamicode.com
首页 > Web开发 > 详细

js实现深度优先

时间:2018-10-27 10:59:01      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:his   start   def   false   .data   先序   art   基本   turn   

;
(function() {
    var def = function() {
        var me = this;
        me.data = {
            color_1: ‘#333333‘,
            color_2: ‘#1890ff‘,
            one: 1,
            arr: [{
                click: false,
                txt: "parent-1",
                show: true,
                arr: [{
                    click: false,
                    txt: "child-1",
                    show: false,
                    arr: [{
                        click: false,
                        txt: "child-1-1",
                        show: false
                    }, {
                        click: false,
                        txt: "child-1-2",
                        show: false
                    }]
                }, {
                    click: false,
                    txt: "child-2",
                    show: false
                }, {
                    click: false,
                    txt: "child-3",
                    show: false
                }, {
                    click: false,
                    txt: "child-4",
                    show: false
                }]
            }, {
                click: false,
                txt: "parent-2",
                show: true
            }, {
                click: false,
                txt: "parent-3",
                show: true
            }, {
                click: false,
                txt: "parent-4",
                show: true
            }]
        }
        me.key = "child-1-1"
        me.r = {
            arr: [],
            count:0
        };
        me.start(me.r, me.data.arr);
        console.log(me)
    };
    def.prototype = {
        start: function(p, arr) {
            var me = this;
            var r;
            for (var i = 0; i < arr.length; i += 1) {
                me.r.arr.push(p);
                 me.r.count+=1;
                if (arr[i].arr) {
                    r = me.start(arr[i], arr[i].arr);
                }
                if (arr[i].txt === me.key || r) {
                    return 1;
                }
                me.r.count-=1;
                me.r.arr.pop();
            };
        }
    };
    new def()
})()

js实现深度优先遍历 和树的先序基本相识的思想 

js实现深度优先

标签:his   start   def   false   .data   先序   art   基本   turn   

原文地址:https://www.cnblogs.com/me-data/p/9860375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!