全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

javascript将list转换成树状结构的实例

如下所示:

/**
   * 将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小时内与您取得联系。