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