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);
 

转载于:https://www.cnblogs.com/wanghuohuo/p/7429325.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值