拉莫斯之舞

先来个函数注释 :/**

* 将有父子关系的一维数组转换成树形结构(多维)数据

* 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 父子维,将有父子关系的一维数组转换成树形结构(多维)数据相关推荐

  1. python画父子关系图_将有父子关系的一维数组转换成树形结构(多维)数据

    先来个函数注释 : /** * 将有父子关系的一维数组转换成树形结构(多维)数据 * console.log(JSON.stringify(setTreeData(data), null, 2)); ...

  2. python list转换成树形结构_列表数据(包含父节点关系)转化为树形结构

    今天开发遇到一个需求,就是把包含父子关系的数据转化为树形结构,这个需求来自我开发的一个功能,前端需要使用 Element 的级联选择器实现行业级联选择的功能. 列表数据类型 每条数据都列出了其父 id ...

  3. js 一维数组转换成二维、三维数组

    需求:后台接口返回一个一维数组,前端需要转换成一个二维,或者三维数组进行级联展示 举个例子: 根据产品类型可以分为:智能手机.耳机.智能家电... 其中智能手机中又可以分为: Ace系列,Reno系列 ...

  4. php将一维数组转换成二维数组

    原来的数组 $fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); 期望变成的数组 $fruit = ...

  5. 行业分类,一维数组转换成二维数组

    文章写得不是很好,只是为了后期可能忘了,而做得一个笔记. 这是原始数据 [{"id":1,"pid":0,"sort":1,"ti ...

  6. 2022. 将一维数组转变成二维数组

    2022. 将一维数组转变成二维数组 给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n .你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组 ...

  7. python将多个3维数组转换成4维数组时,出现(m,)

    python将多个3维数组转换成4维数组时,出现(m,)错误. 原因:多个3维数组件存在不同维度的数组,例如大部分3维数组为(n,l,l),而有一个或多个为(m, l, l):且则会出现上述错误. 解 ...

  8. 【java进阶06:数组】使用一维数组模拟栈数据结构 使用二维数组模拟酒店,酒店管理系统 Arrays工具类 冒泡排序算法、选择排序算法、二分法

    目录 数组 二维数组 总结 作业 Arrays工具类 数组 数组总结 及 静态初始化一维数组 /* Array:1.java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object ...

  9. python将二维数组转换为一维数组_python的set处理二维数组转一维数组的方法示例...

    for splitValue in set(dataset[:, featureIndex].tolist()): 首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重:但是set接收 ...

最新文章

  1. Jenkins安装plugin
  2. vba字典合并单元格为空_VBA合并单元格求和处理套路
  3. 大数据处理的关键架构
  4. MySQL 打开federated存储引擎
  5. BZOJ 4422 Cow Confinement (线段树、DP、扫描线、差分)
  6. 51单片机系列命名规则
  7. python程序30行_Python30行代码实现对pdf文字内容的提取
  8. ModBus RTU协议CRC校验方式最简实现
  9. java图片转视频_java实现图片转换为视频
  10. 数据挖掘基础学习笔记
  11. Python 内置容器 之 字典 ( dict )超详细指南
  12. 主播名字和热度的字符串该怎么写啊,他们两个量前面的字符一样
  13. [ Laravel 5.5 文档 ] 快速入门 —— 使用 Laragon 在 Windows 中搭建 Laravel 开发环境
  14. 中青年人脑白质的年龄效应和性别差异:DTI、NODDI 和 q 空间研究
  15. 135编辑器点击换图html,135编辑器中如何换图?135编辑器中换图的方法步骤
  16. pdf如何转换成ppt
  17. 深入理解TCP协议的连接状态与可靠机制
  18. 幂级数和函数经典例题_10函数项级数和幂级数 习题课
  19. read_csv()报错: ‘utf-8‘ codec can‘t decode byte 0xca in position 0: invalid continuation byte
  20. 肿瘤免疫新抗原鉴定(一)OptiType安装与运行

热门文章

  1. 致永远离开我们的一位程序员
  2. 国家一级建造师—工程经济—第一章—第三节
  3. helm3 chart repo 私有仓库
  4. Android 相机 或者 相册 获取图片裁剪 适用6.0/7.0
  5. 瑞吉外卖(6)—手机验证码登录
  6. C语言学习笔记(字符串和字符串函数)
  7. go 正则表达式分组匹配_go 正则表达式
  8. ubuntu18.04 远程桌面连接失败的来龙去脉
  9. oracle的首选项在哪里,Illustrator基础入门之如何设置首选项
  10. Visual Studio“无法启动程序”系统找不到指定文件