変換フラットなツリー構造のデータ配列

バックエンドのデータ構造は、ここで、をTaikangアセンブリを提供する責任がある前に、それはIBMであるので、彼らの側から提供されたデータのツリー構造は平坦であるので、彼らは、ツリー構造目的のデータに自分自身を回します

バックグラウンドは、データが一般的であり、それに対応する親要素IDをPANNT

CONSTデータ= [ 
      {FLAG: ""、HR_CJ: "01"、PANNT: "00001000"、ROOTID: "00001001" }、
      {FLAG: ""、HR_CJ: "02"、PANNT: "00001001"、ROOTID: " 00001002" }、
      {FLAG: ""、HR_CJ: "03"、PANNT: "00001002"、ROOTID: "00001003" }、
      {FLAG: ""、HR_CJ: "04"、PANNT: "00001003"、ROOTID: " 00001004" } 
    ]

次のようにカプセル化と変換データの方法は、次のとおり

createTreeData({ 
      一覧 = []、
      ID = "ID" 
      PARENTID = "PARENT_ID" 
      rooId = 0 
    }){ 
      CONSTツリー = list.filter(父=> {
         // サイクル全て 
        のconst = fatherCopy 父; 
        CONST branchArr = list.filter( => fatherCopy [ID] === 子供[PARENTID] 
        ); // 各群の子の数を返す
        IF(branchArr.length> 0 ){ 
          fatherCopy.children = branchArr; //子がある場合は、親が子供のプロパティに追加され、割り当ては
        }
         返す fatherCopy [PARENTIDを] === rooId; // 第一層を返す
      });
       を返すツリー; //は、ツリーデータを返します 
    }

最終結果は、我々は、ツリー構造をしたいということです。

 

おすすめ

転載: www.cnblogs.com/zpxm/p/10983635.html