函数中递归打印 json中所有child 中的对象,可进行指定删除对象、压入新数组中 、操作指定对象 等

 let curentObj
            findCurentObj(secondIndexFatherObj.child, FromNodeDragStartObj.id)
            function findCurentObj(dataArrays, idValue) {
              for (let key in dataArrays) {
                findCurentObj(dataArrays[key].child, idValue)
                console.log(dataArrays[key])
                // if (dataArrays[key].id === idValue) {
                //   curentObj = dataArrays[key]
                //   return //return后不会遍历完,优化
                // }
              }
            }
secondIndexFatherObj={二级指标的父级OBJ
    "evaluateStandard": "",
    "targetName": "政治指数",
    "systemId": "TS10003",
    "targetId": "TM20001",
    "level": 1,
    "calcPriority": "2",
    "weight": 0.2,
    "scoreBasis": "",
    "remark": "",
    "cycle": "月",
    "numberMethod": 3,
    "targetParentId": "TM10001",
    "score": 20,
    "field": "",
    "createTime": "2022-06-30T11:11:11",
    "createUser": "",
    "id": "TSS100001",
    "isExtraPoints": "",
    "dataSource": "",
    "child": [
        {
            "evaluateStandard": "",
            "targetName": "政治生活",
            "systemId": "TS10003",
            "targetId": "TM30001",
            "level": 2,
            "calcPriority": "1",
            "weight": 0.6,
            "scoreBasis": "",
            "remark": "",
            "cycle": "月",
            "numberMethod": 3,
            "targetParentId": "TM20001",
            "score": 12,
            "field": "",
            "createTime": "2022-06-30T11:11:21",
            "createUser": "",
            "id": "TSS100011",
            "isExtraPoints": "-1",
            "dataSource": "",
            "child": [
                {
                    "evaluateStandard": "评价标准",
                    "targetName": "党内职务11",
                    "systemId": "TS10003",
                    "targetId": "TM40001",
                    "level": 3,
                    "calcPriority": "1",
                    "weight": 0.06,
                    "scoreBasis": "评分依据",
                    "remark": "备注",
                    "cycle": "月",
                    "numberMethod": 3,
                    "targetParentId": "TM30009",
                    "score": 1.2,
                    "field": "系统对应字段",
                    "createTime": "2022-06-30T11:11:29",
                    "createUser": "张三",
                    "id": "TSS100019x",
                    "isExtraPoints": "1",
                    "dataSource": "数据溯源"
                },
                {
                    "evaluateStandard": "评价标准",
                    "targetName": "加入服务队11",
                    "systemId": "TS10003",
                    "targetId": "TM40002",
                    "level": 3,
                    "calcPriority": "1",
                    "weight": 0.04,
                    "scoreBasis": "评分依据",
                    "remark": "备注",
                    "cycle": "月",
                    "numberMethod": 3,
                    "targetParentId": "TM30009",
                    "score": 0.8,
                    "field": "系统对应字段",
                    "createTime": "2022-06-30T11:11:30",
                    "createUser": "张三",
                    "id": "TSS100020x",
                    "isExtraPoints": "1",
                    "dataSource": "数据溯源"
                }
            ]
        },
        {
            "evaluateStandard": "评价标准",
            "targetName": "缴党费",
            "systemId": "TS10003",
            "targetId": "TM30002",
            "level": 2,
            "calcPriority": "1",
            "weight": 0.4,
            "scoreBasis": "评分依据",
            "remark": "备注",
            "cycle": "月",
            "numberMethod": 3,
            "targetParentId": "TM20001",
            "score": 8,
            "field": "系统对应字段",
            "createTime": "2022-06-30T11:11:22",
            "createUser": "张三",
            "id": "TSS100012",
            "isExtraPoints": "-1",
            "dataSource": "数据溯源"
        }
    ]
}


FromNodeDragStartObj={拖拽后传过来的obj
    "evaluateStandard": "",
    "targetName": "政治生活",
    "systemId": "TS10003",
    "targetId": "TM30001",
    "level": 2,
    "calcPriority": "1",
    "weight": 0.6,
    "scoreBasis": "",
    "remark": "",
    "cycle": "月",
    "numberMethod": 3,
    "targetParentId": "TM20001",
    "score": 12,
    "field": "",
    "createTime": "2022-06-30T11:11:21",
    "createUser": "",
    "id": "TSS100011",
    "isExtraPoints": "-1",
    "dataSource": "",
    "child": [
        {
            "evaluateStandard": "评价标准",
            "targetName": "党内职务11",
            "systemId": "TS10003",
            "targetId": "TM40001",
            "level": 3,
            "calcPriority": "1",
            "weight": 0.06,
            "scoreBasis": "评分依据",
            "remark": "备注",
            "cycle": "月",
            "numberMethod": 3,
            "targetParentId": "TM30009",
            "score": 1.2,
            "field": "系统对应字段",
            "createTime": "2022-06-30T11:11:29",
            "createUser": "张三",
            "id": "TSS100019x",
            "isExtraPoints": "1",
            "dataSource": "数据溯源",
            "Tid": 0
        },
        {
            "evaluateStandard": "评价标准",
            "targetName": "加入服务队11",
            "systemId": "TS10003",
            "targetId": "TM40002",
            "level": 3,
            "calcPriority": "1",
            "weight": 0.04,
            "scoreBasis": "评分依据",
            "remark": "备注",
            "cycle": "月",
            "numberMethod": 3,
            "targetParentId": "TM30009",
            "score": 0.8,
            "field": "系统对应字段",
            "createTime": "2022-06-30T11:11:30",
            "createUser": "张三",
            "id": "TSS100020x",
            "isExtraPoints": "1",
            "dataSource": "数据溯源",
            "Tid": 0
        }
    ],
    "Tid": 0
}

在这里插入图片描述
递归的好处很多: 可以深层遍历所有对象然后 用foreach 或者map 处理数据;可以遍历论坛回复的 层级等等


版权声明:本文为zhangyubababa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。