当前位置: 首页 > article >正文

记录共通的js方法

父子关系的数组转换成树形结构数据:

translateDataToTree('parentUuid', 'uuid', datas)

export function translateDataToTree (field, curKey, data) {
  const parentMap = {}
  const tree = []

  data.forEach((item) => {
    if (!item[field]) {
      parentMap[item[curKey]] = { ...item, children: [] }
      tree.push(parentMap[item[curKey]])
    }
  })

  data.forEach((item) => {
    if (item[field] && parentMap[item[field]]) {
      parentMap[item[field]].children.push({ ...item, children: [] })
    }
  })

  return tree
}

树形结构数据转换成父子关系的数组:

translateTreeToData([data])

export function translateTreeToData(data) {
  const result = [];

  const loop = (node) => {
    result.push(node);
    const children = node.children;
    if (children) {
      children.forEach((child) => {
        loop(child);
      });
    }
  };

  data.forEach((item) => {
    loop(item);
  });

  return result;
}


http://www.kler.cn/a/292166.html

相关文章:

  • Python毕业设计选题:基于django+vue的二手物品交易系统
  • HBuilder(uniapp) 配置android模拟器
  • 已解决:spark代码中sqlContext.createDataframe空指针异常
  • 大模型基础BERT——Transformers的双向编码器表示
  • STM32 标准库函数 GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 区别
  • Python学习从0到1 day29 Python 高阶技巧 ⑦ 正则表达式
  • 六、桥接模式
  • 信息安全数学基础(1)整除的概念
  • 并行处理大 csv 文件
  • 腾讯云 安装部署 SSL 证书到负载均衡(CLB)指引
  • 微信小程序rpx和px关系
  • Java在智能数据挖掘系统的应用
  • 新能源汽车超级电容和电池能量管理系统的simulink建模与仿真
  • 解析C++内联函数与auto关键字
  • 【前端】中断请求的方式
  • 【WPS Excel】复制表格时,提示“图片太大,超过部份将被截去“ 问题
  • 基于Openjdk容器打包运行jar程序
  • BZOJ2959 长跑(LCT维护边双后缩点)
  • Rust 赋能前端:PDF 分页/关键词标注/转图片/抽取文本/抽取图片/翻转...
  • JVM系列(七) -对象的内存分配流程
  • 场外个股期权的风险有哪些方面?
  • 数据库课程设计mysql---图书管理系统详细的设计文档和需求文档
  • NTC阻值与温度计算公式
  • Redis 常用命令总结
  • 【Django-Minio-Storage 使用教程】
  • EXCEL表格如何实现数字自动加减乘数(简单有效)