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
  }

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

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM