zoukankan      html  css  js  c++  java
  • json递归

    对testData进行处理后变成resultData格式
    如果当前节点的child的第一个子节点的id有值,给当前节点增加一个cid的键并且值为id
    cid的值为最里面的child的子节点id值
    var testData=[{
        "id": "1",
        "child": [{
            "id": "1-1",
            "child": []
        }]
    },{
        "id": "2",
        "child": [{
            "id": "2-1",
            "child": [{
                "id": "2-1-1",
                "child": []
            }]
        },{
            "id": "2-2",
            "child": [{
                "id": "2-2-2",
                "child": []
            }]
        }]
    },{
        "id": "3",
        "child": []
    }];
    
    var resultData=[{
        "id": "1",
        "child": [{
            "id": "1-1",
            "child": []
        }],
        "cid": "1-1"
    },{
        "id": "2",
        "child": [{
            "id": "2-1",
            "child": [{
                "id": "2-1-1",
                "child": []
            }],
            "cid": "2-1-1"
        },{
            "id": "2-2",
            "child": [{
                "id": "2-2-1",
                "child": []
            }],
            "cid": "2-2-1"
        }],
        "cid": "2-1-1"
    },{
        "id": "3",
        "child": []
    }];
     
    function addCid(json) {
        json.forEach(function(item){
            if(item.child[0]&&item.child[0].id){
                item.cid=item.child[0].id;
                addCid(item.child);
                if(item.child[0].cid){
                    item.cid=item.child[0].cid;
                }
            }
        })
    }
    
    addCid(testData);
    console.log(testData);
     
  • 相关阅读:
    Java MQTT 客户端之 Paho
    Spring Security + JJWT 实现 JWT 认证和授权
    MinIO
    Spring Boot 实现看门狗功能 (调用 Shell 脚本)
    Canal Admin
    canal
    浅尝 Elastic Stack (五) Logstash + Beats + Kafka
    养鸡场下蛋记
    涛声依旧
    原创:矩阵论学习心得
  • 原文地址:https://www.cnblogs.com/wanghuohuo/p/7429325.html
Copyright © 2011-2022 走看看