javascript将list转换成树状结构的实例
发布时间 - 2026-01-11 03:09:40 点击率:次如下所示:
/**
* 将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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
如何挑选优质建站一级代理提升网站排名?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何在阿里云高效完成企业建站全流程?
如何在腾讯云服务器上快速搭建个人网站?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
深入理解Android中的xmlns:tools属性
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
Laravel如何实现本地化和多语言支持?(i18n教程)
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何用已有域名快速搭建网站?
如何正确选择百度移动适配建站域名?
清除minerd进程的简单方法
太平洋网站制作公司,网络用语太平洋是什么意思?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
JavaScript如何实现倒计时_时间函数如何精确控制
Swift中swift中的switch 语句
如何在IIS中配置站点IP、端口及主机头?
PHP 500报错的快速解决方法
googleplay官方入口在哪里_Google Play官方商店快速入口指南
微信公众帐号开发教程之图文消息全攻略
如何在服务器上三步完成建站并提升流量?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Java类加载基本过程详细介绍
文字头像制作网站推荐软件,醒图能自动配文字吗?
Linux系统命令中tree命令详解
魔毅自助建站系统:模板定制与SEO优化一键生成指南
利用JavaScript实现拖拽改变元素大小
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何在云虚拟主机上快速搭建个人网站?

