js 树结构转 pid 格式

const list = [{
  "id": 1,
  "pid": 0,
  "value": "莫林莲",
  "children": [{
    "id": 2,
    "pid": 1,
    "value": "莫林莲1",
    "children": []
  }, {
    "id": 3,
    "pid": 1,
    "value": "莫林莲2",
    "children": []
  }, {
    "id": 4,
    "pid": 1,
    "value": "莫林莲3",
    "children": []
  }]
}, {
  "id": 5,
  "pid": 0,
  "value": "廖天",
  "children": [{
    "id": 6,
    "pid": 5,
    "value": "廖天1",
    "children": []
  }, {
    "id": 7,
    "pid": 5,
    "value": "廖天2",
    "children": []
  }, {
    "id": 8,
    "pid": 5,
    "value": "廖天3",
    "children": []
  }]
}, {
  "id": 9,
  "pid": 0,
  "value": "彭勇",
  "children": [{
    "id": 10,
    "pid": 9,
    "value": "彭勇1",
    "children": [{
      "id": 11,
      "pid": 10,
      "value": "彭勇2",
      "children": [{
        "id": 12,
        "pid": 11,
        "value": "彭勇3",
        "children": [{
          "id": 13,
          "pid": 12,
          "value": "彭勇4",
          "children": [{
            "id": 14,
            "pid": 13,
            "value": "彭勇5",
            "children": [{
              "id": 15,
              "pid": 14,
              "value": "彭勇6",
              "children": []
            }]
          }]
        }]
      }]
    }]
  }]
}, {
  "id": 16,
  "pid": 0,
  "value": "陳林",
  "children": []
}];

const data = (()=>{
  let arr = [];
  function toList(array,list){
    list.forEach(item=>{
      array.push(item);
      if ( item.children.length > 0 ){
        toList(array,item.children);
      }
      delete item.children;
    })
  }
  toList(arr,list);
  console.log(JSON.stringify(arr));
  return arr;
})();

数据结构如下

[{
    "id": 1,
    "pid": 0,
    "value": "莫林莲"
}, {
    "id": 2,
    "pid": 1,
    "value": "莫林莲1"
}, {
    "id": 3,
    "pid": 1,
    "value": "莫林莲2"
}, {
    "id": 4,
    "pid": 1,
    "value": "莫林莲3"
}, {
    "id": 5,
    "pid": 0,
    "value": "廖天"
}, {
    "id": 6,
    "pid": 5,
    "value": "廖天1"
}, {
    "id": 7,
    "pid": 5,
    "value": "廖天2"
}, {
    "id": 8,
    "pid": 5,
    "value": "廖天3"
}, {
    "id": 9,
    "pid": 0,
    "value": "彭勇"
}, {
    "id": 10,
    "pid": 9,
    "value": "彭勇1"
}, {
    "id": 11,
    "pid": 10,
    "value": "彭勇2"
}, {
    "id": 12,
    "pid": 11,
    "value": "彭勇3"
}, {
    "id": 13,
    "pid": 12,
    "value": "彭勇4"
}, {
    "id": 14,
    "pid": 13,
    "value": "彭勇5"
}, {
    "id": 15,
    "pid": 14,
    "value": "彭勇6"
}, {
    "id": 16,
    "pid": 0,
    "value": "陳林"
}]

js 根据pid创建树结构
https://www.jianshu.com/p/7068ec01968e

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。