概述
在工作中,很多时候会遇到树组织,但是从数据库里面查询出来的结果是一个简单的树组织,这就需要将简单的树组织转换为标准的树组织,以便使用,本文分享一个简单的 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
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: