Как создать дерево из JSON без рекурсии и любой библиотеки javascript

65
4

Я получаю строку 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;
}

спросил(а) 2021-01-19T16:24:09+03:00 9 месяцев назад
1
Решение
65

Для "обхода первого дыхания" используйте очередь (сначала сначала). Для "пересечения глубины" используйте стек (последний в первом порядке)

Вот псевдокод

// add the root node to the structure
// while the structure has elements in it
// withdraw first element
// add all it children to the structure
// do something with the element

ответил(а) 2021-01-19T16:24:09+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема