js将平铺展开的数据树化

/** * 将数据序列化为树形结构 * @param {Array} list 树结构数据 * @param {String} id 用于通用遍历树,每种树结构的id取名可能不一样 * @param {Srting} name 用于通用遍历树,每种树结构的pid取名可能不一样 * @param {Srting} name 用于通用遍历树,每种树结构的name取名可能不一样 * @return {[type]} [description] */function se.
摘要由CSDN通过智能技术生成
/**
  * 将数据序列化为树形结构
  * @param  {Array} list 树结构数据
  * @param {String} id 用于通用遍历树,每种树结构的id取名可能不一样
  * @param {Srting} name 用于通用遍历树,每种树结构的pid取名可能不一样
  * @param {Srting} name 用于通用遍历树,每种树结构的name取名可能不一样
  * @return {[type]}      [description]
  */
function serializeTree(list = [], options = {}) {
  const { id = 'funcId', parentId = 'funcParent', name = 'funcName' } = options;
  const trees = []; // 树状结构
  const maps = {}; // 节点id与节点对象映射
  list = list.map((item) => {
    return { ...item };
  });
  let pid; // 父节点id
  // 遍历添加映射
  list.forEach((item) => {
    // 设置转换为通用结构
    item.id = item[id];
    item.name = item[name];
    item.parentId = item[parentId];
    item.label = item.name;
    item.title = item.name;
    item.key = item.id;
    item.value = item.id;
    // 映射结构
    maps[item.id] = item;
  });
  /
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值