最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 22:30:49
文档

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

javascript将list转换成树状结构的实例:如下所示: /** * 将list装换成tree * @param {Object} myId 数据主键id * @param {Object} pId 数据关联的父级id * @param {Object} list list集合 */ function listToTree(myId,pId,list){ function exi
推荐度:
导读javascript将list转换成树状结构的实例:如下所示: /** * 将list装换成tree * @param {Object} myId 数据主键id * @param {Object} pId 数据关联的父级id * @param {Object} list list集合 */ function listToTree(myId,pId,list){ function exi


如下所示:

/**
 * 将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将list转换成树状结构的实例

javascript将list转换成树状结构的实例:如下所示: /** * 将list装换成tree * @param {Object} myId 数据主键id * @param {Object} pId 数据关联的父级id * @param {Object} list list集合 */ function listToTree(myId,pId,list){ function exi
推荐度:
标签: js 案例 转换为
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top