树结构的数据下 js递归实现方式改变数据

  数据结构:

let data = [
        {
            "id": 301,
            "name": "运营部门",
            "parentId": 300,
            "code": "op",
            "status": 0,
            "des": null,
            "children": [
                {
                    "id": 302,
                    "name": "运营部门-a",
                    "parentId": 301,
                    "code": "op-a",
                    "status": 0,
                    "des": null,
                    "children": []
                },
                {
                    "id": 110744,
                    "name": "111",
                    "parentId": 301,
                    "code": "iw3hJiCl",
                    "status": 1,
                    "des": null,
                    "children": []
                }
            ]
        },
        {
            "id": 303,
            "name": "测试部门",
            "parentId": 300,
            "code": "qa",
            "status": 0,
            "des": null,
            "children": []
        },
        {
            "id": 110740,
            "name": "技术部门",
            "parentId": 300,
            "code": "tXAHHG0P",
            "status": 1,
            "des": "aaa",
            "children": [
                {
                    "id": 110745,
                    "name": "组织部门",
                    "parentId": 110740,
                    "code": "YZQCJRAc",
                    "status": 1,
                    "des": null,
                    "children": []
                }
            ]
        },
        {
            "id": 110741,
            "name": "产品部门",
            "parentId": 300,
            "code": "DsoEPMcO",
            "status": 1,
            "des": null,
            "children": [
                {
                    "id": 110746,
                    "name": "产品线13",
                    "parentId": 110741,
                    "code": "Ugs4F0tq",
                    "status": 1,
                    "des": null,
                    "children": [
                        {
                            "id": 110747,
                            "name": "产品线2",
                            "parentId": 110746,
                            "code": "KOXbSIVj",
                            "status": 1,
                            "des": null,
                            "children": []
                        }
                    ]
                }
            ]
        },
        {
            "id": 110743,
            "name": "运营部门-b",
            "parentId": 300,
            "code": "UXn7nG7o",
            "status": 1,
            "des": null,
            "children": []
        }
    ]

 

  实现效果1:里面的id改为key,name改成title,children还是保持原来的,其他所有的属性都不要

const handleData = (data) =>{
                let arry = [];
                data.forEach((v, k) => {
                    let obj = {};
                    obj.title = data[k].name;
                    obj.key = data[k].id;
                    obj.children = data[k].children;
                    arry.push(obj);
                    if(v.children){
                        handleData(v.children)
                    }
                })
                return arry

            };

handleData(data);

  实现效果2:里面的新增属性key值为原来的id值,新增属性name值为原来的title值

const handleData = (data) =>{

                data.forEach((v, k) => {
                    v.title = data[k].name;
                    v.key = data[k].id;
                    if(v.children){
                        handleData(v.children)
                    }
                })

            };

handleData(data);

 

  

posted @ 2023-05-19 10:52  阳光下那抹高傲的轻笑  阅读(706)  评论(0编辑  收藏  举报