Я пытаюсь понять, как рекурсивно добавлять ветвящиеся структуры к объекту.
Я пытаюсь добавить дочерние элементы к пустому объекту JSON, который при построении должен выглядеть следующим образом.
nodeStructure: {
text: { name: "Parent node" },
children: [
{
text: { name: "First child" },
children: [
{
text: {name: "Grandchild"}
}
]
},
{
text: { name: "Second child" }
}
]
}
Вот самая краткая версия этого кода.
trackFraud = async (fraudID) => {
var root = chart_config.nodeStructure = newNode(fraudID);
await fraudClimb(root, 1);
var my_chart = new Treant(chart_config);
function newNode(node) { return {text:{name:"fraud " + node}}; }
async function fraudClimb(root, fraudID) {
var frauds = await findFraudByFromID.call(this, fraudID); // returns an array of "integers"
if (frauds.length == 0) return;
var children = root.children = [];
for (var i = 0; i < frauds.length; i++) {
children.push(newNode(frauds[i]));
fraudClimb(children[i], frauds[i]);
}
}
}
Теперь я пытаюсь обернуть голову, как пройти, или в этом случае добавить, структуру, которая чередует все остальныеуровень между массивами и объектами
Полагаю, реальный вопрос в том, как рекурсивно передать объект и добавить к этому исходному объекту.