使用递归从对象中获取值

时间:2012-05-07 11:00:38

标签: javascript arrays data-structures recursion

我有一个JavaScript对象:

var testJSON = {
    "Divisions": {
        "modes": [{
            "number": 1,
            "name": "Fruits",
            "Fruits": [{

                "name": "Mango",

                "Mango": [{
                    "number": 1,
                    "name": "Nagpur"
                }]
            }]
        }, {
            "number": 4,
            "name": "Coffee",
            "Coffee": [{

                "name": "Germany",
                "Germany": [{
                    "number": 1,
                    "name": "Germany"
                }]

            }, {

                "name": "Italy",
                "Italy": [{
                    "number": 1,
                    "name": "Italy"
                }]
            },

            ]
        }, {
            "number": 5,
            "name": "Burger",
            "Burger": [{
                "number": 2,
                "name": "McDonalds"
            }, {
                "number": 1,
                "name": "Ham"
            }]
        }]

    }
};

我希望将每个级别的“name”值赋予不同的数组..

我试过了代码

function recursion(input)
    {
        var arrayLength=input.Divisions.modes.length;

        for(var i=0;i<arrayLength;i++)
            {
                var elem = input[i];


                if(input[i].name==undefined);   
                {       
                    return;
                }


                recursion(elem);


        }



}

var c=recursion(testJSON);

这不起作用。我想它的递归部分我做错了。对象的级别不是固定的。

0 个答案:

没有答案