如何从JSON创建树没有递归和任何库javascript

How to create tree from JSON without recursion and any library javascript

本文关键字:递归 任何库 javascript JSON 创建      更新时间:2023-09-26

我得到JSON字符串。并使用函数创建ul列表。

我怎么能做到没有递归?

感谢任何人的帮助!

function createJsonTree(objData) {
    if (isChild(objData))
        return;
    var ul = createElem('ul');
    for (var i = 0, length = objData.length; i < length; i++) {
        if (i in objData) {
            var li = createElem('li');
            if (objData[i].dropmenu) {
                ...
            }
            var li = createElem('li');
            li.innerHTML = objData[i].NAMEGROUP;
            var childUl = createJsonTree(objData[i].dropmenu);
            if (childUl)
                li.appendChild(childUl);
            ul.appendChild(li);
        }
    }
    return ul;
}

对于"呼吸优先遍历",使用队列(先进先出)。对于"深度优先遍历",使用堆栈(后进先出)

下面是伪代码
// add the root node to the structure
// while the structure has elements in it
//    withdraw first element
//    add all it's children to the structure
//    do something with the element