JSFiddle - React, Tailwind, and code Playground
by Aides
JavaScript
nodes = [
{
"label": "Root",
"children": [
{
"label": "Parent",
"children": [
{
"label": "Child",
"treffer": true
}
]
}
]
},
{
"label": "Root 2",
"children": [
{
"label": "Parent 2",
"children": [
{
"label": "Child ohne Treffer",
"treffer": false
}
]
}
]
}
];
// Nodes ergänzen, wenn es ein Treffer gibt
for(var i = 0; i < nodes.length; i++)
{
setHitRecursive(nodes[i]);
}
function setHitRecursive(node){
//TODO: fix for all iteratables or array specific
if(node.children && node.children.length)
{
for(var i = 0; i < node.children.length; i++)
{
var treffer = setHitRecursive(node.children[i]);
if(treffer)
{
node.treffer = true;
}
}
}
return node.treffer;
}
// Nodes nach dem Überarbeiten
console.log(nodes);