mysql 父子维,将有父子关系的一维数组转换成树形结构(多维)数据
拉莫斯之舞
先来个函数注释 :/**
* 将有父子关系的一维数组转换成树形结构(多维)数据
* console.log(JSON.stringify(setTreeData(data), null, 2));
* ============================================
* @param {*Array} data 需要遍历的一维数组
*/再来具体的代码 :function fnSetTreeData(data) { var data = [...data]; var tree = data.filter((father) => { var branchArr = data.filter((child) => { if (father.id == child.parentId) child._hasParent = true; return father.id == child.parentId; // MARK 为什么这样写就报错 ?
// if (father.id == child.parentId) child._hasParent = true;
// return child._hasParent
}); if (branchArr.length > 0) father.children = branchArr; return !father._hasParent;
}); // MARK 为什么在这里还得加一个过滤
tree = tree.filter((item) => { return !item._hasParent;
}) return tree
}console.log(JSON.stringify(fnSetTreeData(data), null, 2));至于怎么解决 循环引用 的问题, 先用 sort 给数组排序后, 再在每次 filter 中 计数++ 如何 ?得给一个测试数据 :var data = [
{ id: 40, parentId: 31, note: "的萨达是" },
{ id: 20, parentId: 11, note: "的萨达是" },
{ id: 22, parentId: 20, note: "dsadas" },
{ id: 12, parentId: null, note: "dsadasad萨达s" },
{ id: 11, parentId: undefined, note: "dqwds" },
{ id: 24, parentId: 22, note: "搜索" },
{ id: 34, parentId: 22, note: "搜索" }
];
mysql 父子维,将有父子关系的一维数组转换成树形结构(多维)数据相关推荐
- python画父子关系图_将有父子关系的一维数组转换成树形结构(多维)数据
先来个函数注释 : /** * 将有父子关系的一维数组转换成树形结构(多维)数据 * console.log(JSON.stringify(setTreeData(data), null, 2)); ...
- python list转换成树形结构_列表数据(包含父节点关系)转化为树形结构
今天开发遇到一个需求,就是把包含父子关系的数据转化为树形结构,这个需求来自我开发的一个功能,前端需要使用 Element 的级联选择器实现行业级联选择的功能. 列表数据类型 每条数据都列出了其父 id ...
- js 一维数组转换成二维、三维数组
需求:后台接口返回一个一维数组,前端需要转换成一个二维,或者三维数组进行级联展示 举个例子: 根据产品类型可以分为:智能手机.耳机.智能家电... 其中智能手机中又可以分为: Ace系列,Reno系列 ...
- php将一维数组转换成二维数组
原来的数组 $fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); 期望变成的数组 $fruit = ...
- 行业分类,一维数组转换成二维数组
文章写得不是很好,只是为了后期可能忘了,而做得一个笔记. 这是原始数据 [{"id":1,"pid":0,"sort":1,"ti ...
- 2022. 将一维数组转变成二维数组
2022. 将一维数组转变成二维数组 给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n .你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组 ...
- python将多个3维数组转换成4维数组时,出现(m,)
python将多个3维数组转换成4维数组时,出现(m,)错误. 原因:多个3维数组件存在不同维度的数组,例如大部分3维数组为(n,l,l),而有一个或多个为(m, l, l):且则会出现上述错误. 解 ...
- 【java进阶06:数组】使用一维数组模拟栈数据结构 使用二维数组模拟酒店,酒店管理系统 Arrays工具类 冒泡排序算法、选择排序算法、二分法
目录 数组 二维数组 总结 作业 Arrays工具类 数组 数组总结 及 静态初始化一维数组 /* Array:1.java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object ...
- python将二维数组转换为一维数组_python的set处理二维数组转一维数组的方法示例...
for splitValue in set(dataset[:, featureIndex].tolist()): 首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重:但是set接收 ...
最新文章
- Jenkins安装plugin
- vba字典合并单元格为空_VBA合并单元格求和处理套路
- 大数据处理的关键架构
- MySQL 打开federated存储引擎
- BZOJ 4422 Cow Confinement (线段树、DP、扫描线、差分)
- 51单片机系列命名规则
- python程序30行_Python30行代码实现对pdf文字内容的提取
- ModBus RTU协议CRC校验方式最简实现
- java图片转视频_java实现图片转换为视频
- 数据挖掘基础学习笔记
- Python 内置容器 之 字典 ( dict )超详细指南
- 主播名字和热度的字符串该怎么写啊,他们两个量前面的字符一样
- [ Laravel 5.5 文档 ] 快速入门 —— 使用 Laragon 在 Windows 中搭建 Laravel 开发环境
- 中青年人脑白质的年龄效应和性别差异:DTI、NODDI 和 q 空间研究
- 135编辑器点击换图html,135编辑器中如何换图?135编辑器中换图的方法步骤
- pdf如何转换成ppt
- 深入理解TCP协议的连接状态与可靠机制
- 幂级数和函数经典例题_10函数项级数和幂级数 习题课
- read_csv()报错: ‘utf-8‘ codec can‘t decode byte 0xca in position 0: invalid continuation byte
- 肿瘤免疫新抗原鉴定(一)OptiType安装与运行
热门文章
- 致永远离开我们的一位程序员
- 国家一级建造师—工程经济—第一章—第三节
- helm3 chart repo 私有仓库
- Android 相机 或者 相册 获取图片裁剪 适用6.0/7.0
- 瑞吉外卖(6)—手机验证码登录
- C语言学习笔记(字符串和字符串函数)
- go 正则表达式分组匹配_go 正则表达式
- ubuntu18.04 远程桌面连接失败的来龙去脉
- oracle的首选项在哪里,Illustrator基础入门之如何设置首选项
- Visual Studio“无法启动程序”系统找不到指定文件