您现在的位置:首页 >> 前端 >> 内容

简单树组织数据格式化为标准树组织数据

时间:2016/12/13 9:35:16 点击:

  核心提示:概述在工作中,很多时候会遇到树组织,但是从数据库里面查询出来的结果是一个简单的树组织,这就需要将简单的树组织转换为标准的树组织,以便使用,本文分享一个简单的function来实现简单到标准的转换。简单...

概述

在工作中,很多时候会遇到树组织,但是从数据库里面查询出来的结果是一个简单的树组织,这就需要将简单的树组织转换为标准的树组织,以便使用,本文分享一个简单的function来实现简单到标准的转换。

简单和标准树组织数据

1、简单树组织

简单的树组织包含id,pid,attr等信息,是一个平铺的结构,如:


[ {id:"0",pid:"-1",name:"name0"}, {id:"01",pid:"0",name:"name01"}, {id:"02",pid:"0",name:"name02"}, {id:"011",pid:"01",name:"name011"}, ... ]
2、标准的树组织

标准的树组织跟简单的树组织的区别就是包含层级结构,如:


[ {id:"0",pid:"-1",name:"name0",children:[ {id:"01",pid:"0",name:"name01",children:[ {id:"011",pid:"01",name:"name011"}, ... ]}, {id:"02",pid:"0",name:"name02"}, ... ]}, ... ]

转换函数
        _transform2NormalData:function (sNodes){
            var scope = this;
            var i,l;
            var key = scope.data.simpleData.idKey,//"id"
                parentKey=scope.data.simpleData.pIdKey,//"pid"
                childKey=scope.data.childKey;//"children"
            if (!key || key=="" || !sNodes) return [];
            if (sNodes.length>0) {
                var r = [];
                var tmpMap = [];
                for (i=0, l=sNodes.length; i

作者:网络 来源:LZUGIS