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);
     
  • 相关阅读:
    Spring AOP 详解
    java 线程的几种状态
    Atomic
    ConcurrentHashMap原理分析
    MySQL存储过程详解 mysql 存储过程
    spring-定时器(2)
    spring-定时器(1)
    spring-线程池(3)
    spring-线程池(2)
    spring-线程池(1)
  • 原文地址:https://www.cnblogs.com/wanghuohuo/p/7429325.html
Copyright © 2011-2022 走看看