如下所示:
/**
* 将list装换成tree
* @param {Object} myId 数据主键id
* @param {Object} pId 数据关联的父级id
* @param {Object} list list集合
*/
function listToTree(myId,pId,list){
function exists(list, parentId){
for(var i=0; i<list.length; i++){
if (list[i][myId] == parentId) return true;
}
return false;
}
var nodes = [];
// get the top level nodes
for(var i=0; i<list.length; i++){
var row = list[i];
if (!exists(list, row[pId])){
nodes.push(row);
}
}
var toDo = [];
for(var i=0; i<nodes.length; i++){
toDo.push(nodes[i]);
}
while(toDo.length){
var node = toDo.shift(); // the parent node
// get the children nodes
for(var i=0; i<list.length; i++){
var row = list[i];
if (row[pId] == node[myId]){
//var child = {id:row.id,text:row.name};
if (node.children){
node.children.push(row);
} else {
node.children = [row];
}
toDo.push(row);
}
}
}
return nodes;
}
var list=[
{"ids":1,"parendId":0,"name":"Foods",url:"wwww"},
{"ids":2,"parentId":1,"name":"Fruits"},
{"ids":3,"parentId":1,"name":"Vegetables"},
{"ids":4,"parentId":2,"name":"apple"},
{"ids":5,"parentId":2,"name":"orange"},
{"ids":6,"parentId":3,"name":"tomato"},
{"ids":7,"parentId":3,"name":"carrot"},
{"ids":8,"parentId":3,"name":"cabbage"},
{"ids":9,"parentId":3,"name":"potato"},
{"ids":10,"parentId":3,"name":"lettuce"},
{"ids":11,"parendId":0,"name":"Foods"},
{"ids":12,"parentId":11,"name":"Fruits"},
{"ids":13,"parentId":11,"name":"Vegetables"},
{"ids":14,"parentId":12,"name":"apple"},
{"ids":15,"parentId":12,"name":"orange"},
{"ids":16,"parentId":13,"name":"tomato"},
{"ids":17,"parentId":13,"name":"carrot"},
{"ids":18,"parentId":13,"name":"cabbage"},
{"ids":19,"parentId":13,"name":"potato"},
{"ids":20,"parentId":13,"name":"lettuce"}
];
console.log(JSON.stringify(listToTree("ids","parentId",list)));
console.log(listToTree("ids","parentId",list));
以上这篇javascript将list转换成树状结构的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# javascript
# 树状图
# javascript如何用递归写一个简单的树形结构示例
# JavaScript几种形式的树结构菜单
# JavaScript解析任意形式的json树型结构展示
# js用于树型结构级联选择
# JavaScript 处理树数据结构的方法示例
# 详解JavaScript树结构
# js将列表组装成树结构的两种实现方式分享
# 给大家
# 树状
# 希望能
# 所示
# 这篇
# 转换成
# 小编
# 大家多多
# 主键
# function
# lt
# length
# var
# listToTree
# exists
# parentId
# return
# row
# level
# toDo
相关文章:
制作网站外包平台,自动化接单网站有哪些?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
宝塔建站后网页无法访问如何解决?
公司网站的制作公司,企业网站制作基本流程有哪些?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
建站之星如何快速更换网站模板?
广州美橙建站如何快速搭建多端合一网站?
制作网页的网站有哪些,电脑上怎么做网页?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
如何快速搭建安全的FTP站点?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
如何用狗爹虚拟主机快速搭建网站?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
已有域名如何免费搭建网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
如何在西部数码注册域名并快速搭建网站?
学校建站服务器如何选型才能满足性能需求?
北京企业网站设计制作公司,北京铁路集团官方网站?
网站制作员失业,怎样查看自己网站的注册者?
建站之星官网登录失败?如何快速解决?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
如何在服务器上配置二级域名建站?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
深圳网站制作案例,网页的相关名词有哪些?
如何快速查询网址的建站时间与历史轨迹?
建站之星如何优化SEO以实现高效排名?
高端建站三要素:定制模板、企业官网与响应式设计优化
英语简历制作免费网站推荐,如何将简历翻译成英文?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
定制建站价位费用解析与套餐推荐全攻略
如何快速搭建支持数据库操作的智能建站平台?
建站主机是否等同于虚拟主机?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何在腾讯云服务器快速搭建个人网站?
如何快速登录WAP自助建站平台?
太原网站制作公司有哪些,网约车营运证查询官网?
黑客如何通过漏洞一步步攻陷网站服务器?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
红河网站制作公司,红河事业单位身份证如何上传?
如何选择高效便捷的WAP商城建站系统?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
公司门户网站制作流程,华为官网怎么做?
如何正确下载安装西数主机建站助手?
公众号网站制作网页,微信公众号怎么制作?
C++时间戳转换成日期时间的步骤和示例代码
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。