Designed by 77
加载资源 ......
感谢 ♥ 作者
先不感谢了

javascript将普通列表转换为树结构的列表(带children)

在用一些树表插件的时候,这些树表插件都会要求数据的机构是带children属性的对象数组,而后台如果没有转换为这种形式的list,就需要在前端进行转换。

  function listToTreeList(list) { // 将普通列表转换为树结构的列表
    if (!list || !list.length) {
      return []
    }
    let treeListMap = {};
    for (let item of list) {
      treeListMap[item.id] = item
    }
    for (let i = 0; i < list.length; i++) {
      if (list[i].parentId && treeListMap[list[i].parentId]) {
        if (!treeListMap[list[i].parentId].children) {
          treeListMap[list[i].parentId].children = []
        }
        treeListMap[list[i].parentId].children.push(list[i]);
        list.splice(i, 1);
        i--
      }
    }
    return list
  }

封装成一个函数,方便多次调用。

 

"对不起,我没能变成你喜欢的样子。"

posted @ 2020-03-26 07:28  yanggb  阅读(3282)  评论(0编辑  收藏  举报