У меня есть следующая рекурсивная структура данных и метод, повторяющий ее. При этом он должен добавить уникальный номер n к каждому node, например. его соответствующее число в обход уровня порядка в дереве.
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: [ ... ] },
        ...
    ]
}
