Рекурсивный обход деревьев в порядке ле, вель
У меня есть следующая рекурсивная структура данных и метод, повторяющийся над ней. При этом следует добавить уникальный номерn
к каждому узлу, например его соответствующий номер впрохождение порядка уровней дерева.
var data = {
children: [
{ children: [ ... ] },
{ children: [ ... ] },
{ children: [ ... ] },
...
]
}
var process = function (node) {
node.children.forEach(child, function () {
process(child);
});
return node;
}
Как я могу добиться этого без изменений в структуре данных и минимальных изменений в функции обработки? Результатprocess(data)
должно быть
var data = {
n: 1
children: [
{ n: 2, children: [ ... ] },
{ n: 3, children: [ ... ] },
{ n: 4, children: [ ... ] },
...
]
}