js 无限级分类
2024-09-04 04:15:29
const arr = [
{ id: 1, parentId: 0, name: '四川' },
{ id: 2, parentId: 0, name: '贵州' },
{ id: 3, parentId: 0, name: '云南' },
{ id: 4, parentId: 0, name: '江苏' }, { id: 5, parentId: 1, name: '成都' },
{ id: 6, parentId: 2, name: '贵州' },
{ id: 7, parentId: 3, name: '昆明' },
{ id: 8, parentId: 4, name: '苏州' }, { id: 9, parentId: 5, name: '成都县1' },
{ id: 10, parentId: 5, name: '成都县2' },
{ id: 11, parentId: 5, name: '成都县3' },
{ id: 12, parentId: 5, name: '成都县4' },
{ id: 13, parentId: 5, name: '成都县5' }, { id: 14, parentId: 6, name: '贵州县1' },
{ id: 15, parentId: 6, name: '贵州县2' },
{ id: 16, parentId: 6, name: '贵州县3' }, { id: 17, parentId: 7, name: '昆明县1' },
{ id: 18, parentId: 7, name: '昆明县2' },
{ id: 19, parentId: 7, name: '昆明县3' }, { id: 20, parentId: 8, name: '苏州县1' },
{ id: 21, parentId: 8, name: '苏州县2' },
{ id: 22, parentId: 8, name: '苏州县3' },
{ id: 23, parentId: 8, name: '苏州县4' }, { id: 24, parentId: 9, name: '成都镇1' },
{ id: 25, parentId: 10, name: '成都镇2' }, { id: 26, parentId: 24, name: '成都村11' },
{ id: 27, parentId: 24, name: '成都村12' },
{ id: 28, parentId: 24, name: '成都村13' }
] function main(arr, pid = 0) {
const temp = [];
for (const item of arr) {
if (item.parentId === pid) {
item.children = main(arr, item.id);
temp.push(item);
}
}
return temp;
}
const res = main(arr, pid = 0);
console.log(JSON.stringify(res))
最新文章
- MySQL 插入数据 通过命令提示窗口插入数据
- uva 10801(最短路)
- papi酱视频因违规遭下线整改,你知道原因吗?
- SVN操作手册
- Project Management - 1) Schedule Your Project
- 关于uploadify 没有显示进度条!!!!
- 【转】putty基本操作--不错
- Unity3d 网络编程(三)(Unity3d内置简单的网络server编制)
- Swift 与 JSON 数据
- jquery实现图片上传前本地预览
- 第一册:lesson thirteen.
- Mysql建库建用户建表等常用命令
- kruscal重构树略解
- c#所有部门及其下所部门生成树形图(递归算法获取或键值对方式获取)
- 【AtCoder】CODE FESTIVAL 2017 qual B
- 一些做vue前端的经验
- uiautomator 代码记录 : BT发送测试
- Cannot detect Web Project version. Please specify version of Web Project through Maven project property <;webVersion>;. E.g.: <;properties>; <;webVersion>;3.0<;/webVersion>; <;/properties>;
- flex布局知识点(阮一峰博客)
- RHEL7 利用双网卡绑定实现VLAN
热门文章
- 本地文件上传到gitlab
- js创建对象的几种方式(工厂模式、构造函数模式、原型模式)
- curses is not supported on this machine:(curses 在pycharm(Windows)中的安装 )
- Flyway对比Liquibase(转)
- 开源的任务系统 TaskManager
- 交换机配置——Cisco(思科)-交换机初始化配置
- MessagePack Java Jackson Dataformat - POJO 的序列化和反序列化
- Qbxt 模拟题 day3(am) T3 选数字 (select)(贪心)
- codevs 2977 二叉堆练习1x
- UBUNTU 15.10 CAFFE安装教程(测试可用)