Рекурсивный обход деревьев в порядке ле, вель

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

Ответы на вопрос(1)

Ваш ответ на вопрос