全网整合营销服务商

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

免费咨询热线: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 


相关文章: 网站制作公司排行榜,四大门户网站排名?  浅析上传头像示例及其注意事项  七夕网站制作视频,七夕大促活动怎么报名?  建站主机类型有哪些?如何正确选型  香港服务器租用每月最低只需15元?  专业网站建设制作报价,网页设计制作要考什么证?  北京网站制作公司哪家好一点,北京租房网站有哪些?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  如何在万网自助建站中设置域名及备案?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  网站设计制作企业有哪些,抖音官网主页怎么设置?  如何做网站制作流程,*游戏网站怎么搭建?  用v-html解决Vue.js渲染中html标签不被解析的问题  如何自定义建站之星网站的导航菜单样式?  中山网站推广排名,中山信息港登录入口?  建站之星如何保障用户数据免受黑客入侵?  如何在企业微信快速生成手机电脑官网?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  孙琪峥织梦建站教程如何优化数据库安全?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  家庭服务器如何搭建个人网站?  建站上市公司网站建设方案与SEO优化服务定制指南  如何确认建站备案号应放置的具体位置?  如何通过虚拟主机快速搭建个人网站?  深圳网站制作平台,深圳市做网站好的公司有哪些?  在线制作视频网站免费,都有哪些好的动漫网站?  如何在建站主机中优化服务器配置?  建站之星下载版如何获取与安装?  在线制作视频的网站有哪些,电脑如何制作视频短片?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何制作算命网站,怎么注册算命网站?  建站之星会员如何解锁更多建站功能?  Python路径拼接规范_跨平台处理说明【指导】  建站之星免费版是否永久可用?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  宝塔新建站点报错如何解决?  小型网站制作HTML,*游戏网站怎么搭建?  建站主机核心功能解析:服务器选择与网站搭建流程指南  定制建站流程步骤详解:一站式方案设计与开发指南  制作网站的软件免费下载,免费制作app哪个平台好?  大连网站设计制作招聘信息,大连投诉网站有哪些?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  建站之星在线版空间:自助建站+智能模板一键生成方案  建站之星安装提示数据库无法连接如何解决?  微信h5制作网站有哪些,免费微信H5页面制作工具?  高端网站建设与定制开发一站式解决方案 中企动力  昆明网站制作哪家好,昆明公租房申请网上登录入口? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。