全网整合营销服务商

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

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


相关文章: 开源网站制作软件,开源网站什么意思?  高防服务器:AI智能防御DDoS攻击与数据安全保障  c# 在高并发场景下,委托和接口调用的性能对比  如何选择PHP开源工具快速搭建网站?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  专业公司网站制作公司,用什么语言做企业网站比较好?  如何快速搭建高效服务器建站系统?  如何选择靠谱的建站公司加盟品牌?  安徽网站建设与外贸建站服务专业定制方案  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站之星会员如何解锁更多建站功能?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  长沙做网站要多少钱,长沙国安网络怎么样?  建站之星后台管理系统如何操作?  建站之星24小时客服电话如何获取?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  宿州网站制作公司兴策,安徽省低保查询网站?  如何通过VPS搭建网站快速盈利?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何在宝塔面板创建新站点?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  网站好制作吗知乎,网站开发好学吗?有什么技巧?  建站之星如何实现网站加密操作?  如何用好域名打造高点击率的自主建站?  建站之星安装后如何配置SEO及设计样式?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  如何快速搭建响应式可视化网站?  ,sp开头的版面叫什么?  建站主机如何选?性能与价格怎样平衡?  香港服务器租用费用高吗?如何避免常见误区?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  内部网站制作流程,如何建立公司内部网站?  建站之星在线客服如何快速接入解答?  如何在IIS服务器上快速部署高效网站?  html制作网站的步骤有哪些,iapp如何添加网页?  网站制作软件有哪些,制图软件有哪些?  学校建站服务器如何选型才能满足性能需求?  如何在宝塔面板中修改默认建站目录?  黑客如何利用漏洞与弱口令入侵网站服务器?  如何用景安虚拟主机手机版绑定域名建站? 

您的项目需求

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