如何从JSON创建树没有递归和任何库javascript
How to create tree from JSON without recursion and any library javascript
我得到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
相关文章:
- 数组在递归方法中设置为null
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 递归使用 eval() 是检查程序执行的好方法吗?
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- 递归深度比较
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- 递归函数中断
- 如何递归地获取嵌套对象中所有子对象的列表
- JavaScript 素数搜索无限递归
- 在递归生成器函数中,yield后面的*(星号/星号)语法意味着什么
- 递归|两个函数名
- 有没有一种方法可以在Javascript中进行可变递归currying
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- 调用堆栈超出,甚至没有任何递归.这是怎么回事
- 我的递归函数没有返回任何内容
- 匿名递归-任何替换javascript'arguments.calleyee'到其他符号,例如'
- 如何递归地创建指向docpad中特定文件夹中任何文件的链接树
- 函数正在调用自身,而没有在其中实现任何递归调用
- 在数组中将数字相加,没有任何循环.我使用递归解决了.有没有更好的方法
- 如何从JSON创建树没有递归和任何库javascript