js遞歸獲取子節點所有父節點


起因:業務中用到了element級聯選擇器,級聯的反顯需要這樣的數據[id(父),id(父),id(當前選中)],由於后端的無能,不會遍歷找所有關聯的父節點,只能由前端來做,所以就寫了一個簡單的遞歸。

 findAncestry (arr, id) {
      var temp = []
      var forFn = function (list, id) {
        for (var i = 0; i < list.length; i++) {
          var item = list[i]
          if (item.id === id) {
            temp.push(item)
            forFn(list, item.pid)
            break
          } else {
            if (item.children) {
              forFn(item.children, id)
            }
          }
        }
      }
      forFn(arr, id)
      return temp
 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM