如何将节点添加到子对象

时间:2015-03-17 12:54:39

标签: javascript

我想使用javascript / jquery在每个子数组中插入一个对象 - {id:parentid+appendvalue}。这是我的示例数据:

var obj={
    "name": "root",
    "id":12,
    "children": [
        {
            "name": "child-1",
            "children": [
                {
                    "name": "inner-child"
                }
            ]
        },
        {
            "name": "child-2"
        }
    ]
};

每个对象的格式为{name,id,children[]}。在这里,我想以递归方式向所有子节点插入{id:parentid+".0"},以便我得到以下输出。

var obj={
    "name": "root",
    **"id":12**,
    "children": [
        {
            "name": "child-1",
             **"id": 12.0**

            "children": [
                {
                    "name": "inner-child",
                     **"id" : 12.0.0**
                }
            ]
        },
        {
            "name": "child-2",
            **"id": 12.1**
        }
    ]
};

请注意,儿童对象限制在任何级别。请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

for(var i = 0; i < obj.children.length; i++)
{
    var parentIDString = parentid + ".0";
    for(var j = 0; j < i; j++)
    {
        parentIDString += ".0";
    }    
    obj.children[i]['id'] = parentIDString;

}