zoukankan      html  css  js  c++  java
  • js 广度优先遍历

    ;
    (function() {
        var def = function() {
            var me = this;
            me.data = {
                color_1: '#333333',
                color_2: '#1890ff',
                one: 1,
                txt: "node",
                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 = {
                count: 0,result:[]
            };
            me.arr = [];
            me.start(me.r);
            console.log(me.r);
        };
        def.prototype = {
            start: function(p) {
                var me = this;
                me.arr.push(me.data);
                while (me.arr.length) {
                    p.count += 1;
                    var tem = me.arr[0];
                    if (tem.arr) {
                        tem.arr.forEach(i => {
                            me.arr.push(i);
                        });
                    }
                    if (tem.txt === me.key) {
                        me.r.result.push(tem);
                        break;
                    }
                   me.r.result.push(me.arr.shift());
                }
            }
        };
        new def()
    })()

    js 广度优先 

  • 相关阅读:
    elasticsearch 数据迁移
    elasticsearch使用简介 -安装篇
    docker 使用笔记
    PHP 全局变量
    做人做事需牢记20条原则
    MYSQL 存储引擎概述
    postgresql常用命令
    ORACLE 清理SYSAUX表空间
    sqlserver数据库的启动
    postgressql启动与关闭
  • 原文地址:https://www.cnblogs.com/me-data/p/9860381.html
Copyright © 2011-2022 走看看