使用递归函数查找json对象中的元素级别

时间:2014-08-14 11:35:12

标签: javascript jquery json

我有一个递归函数,如下所示。我用它将树元素转换为json对象。我已将其转换为多级对象。我无法找到元素所处的级别。如何找到对象中元素的级别?级别计数是指以下代码中的级别。

var levelCount = 1;
    var levelText;
    var convertTreeObjToJson = function (treeObj) {

        return $.map(treeObj, function (n, i) {
            var tempTitle;
            var tempToolTip;
            levelCount = levelCount + 1;
            levelText = "level_" + levelCount;
            debugger;
            treeDataStorageJson.map(function (mindmapdata) {
                if (mindmapdata.title == n.text) {
                    tempTitle = mindmapdata.title;
                    tempToolTip = mindmapdata.tooltip;
                }
            });
            if (tempToolTip == "") {
                var result = { title: tempTitle };
            }
            else {
                var result = { toolTip: tempToolTip, title: tempTitle };
            }
            if (n.hasChildren){

                result[levelText] = convertTreeObjToJson(n.children.view());
            }
            return result;
        }); 
    };

以下是json对象示例

{
    "level_1": {
        "title": "Item 1",
        "level_2": [
            {
                "toolTip": "fdsa",
                "title": "Item 2",
                "level_3": [
                    {
                        "toolTip": "fdsaf",
                        "title": "Item 3",
                        "level_4": [
                            {
                                "toolTip": "fdsa",
                                "title": "Item 5"
                            }
                        ]
                    },
                    {
                        "toolTip": "fdsa",
                        "title": "Item 4"
                    }
                ]
            },
            {
                "toolTip": "dsaf",
                "title": "Item 6",
                "level_3": [
                    {
                        "toolTip": "dsaf",
                        "title": "Item 7"
                    }
                ]
            },
            {
                "toolTip": "dsfa",
                "title": "Item 8"
            }
        ]
    }
}

0 个答案:

没有答案