全网整合营销服务商

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

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


相关文章: 无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  已有域名能否直接搭建网站?  ,有什么在线背英语单词效率比较高的网站?  香港网站服务器数量如何影响SEO优化效果?  如何通过商城自助建站源码实现零基础高效建站?  如何设置并定期更换建站之星安全管理员密码?  Thinkphp 中 distinct 的用法解析  Python如何创建带属性的XML节点  网站网页制作专业公司,怎样制作自己的网页?  建站之星2.7模板:企业网站建设与h5定制设计专题  开源网站制作软件,开源网站什么意思?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何快速完成中国万网建站详细流程?  网站制作企业,网站的banner和导航栏是指什么?  如何用已有域名快速搭建网站?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  临沂网站制作企业,临沂第三中学官方网站?  宝塔建站助手安装配置与建站模板使用全流程解析  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何在VPS电脑上快速搭建网站?  如何在阿里云服务器自主搭建网站?  如何有效防御Web建站篡改攻击?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  高防服务器租用指南:配置选择与快速部署攻略  如何通过虚拟主机快速搭建个人网站?  如何在景安服务器上快速搭建个人网站?  如何通过远程VPS快速搭建个人网站?  如何高效完成自助建站业务培训?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  设计网站制作公司有哪些,制作网页教程?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何快速配置高效服务器建站软件?  南平网站制作公司,2025年南平市事业单位报名时间?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  网站制作壁纸教程视频,电脑壁纸网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  北京网站制作的公司有哪些,北京白云观官方网站?  如何选择靠谱的建站公司加盟品牌?  已有域名如何快速搭建专属网站?  深圳网站制作培训,深圳哪些招聘网站比较好?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何在IIS7上新建站点并设置安全权限? 

您的项目需求

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