У меня есть следующий объект
let obj = {children:[
{
ID:1,
clicked: false,
children: [
{
ID:4,
clicked: false,
children: [
{
ID:11,
clicked: false,
children: [
{
ID:14,
clicked: true,
},
{
ID:15,
clicked: false,
}
]
},
{
ID:12,
clicked: false,
}
]
},
{
ID:5,
clicked: false,
}
]
}
]
}
Мне нужно изменить свойство clicked на true родительского элемента. так что в этом случае ID - 14 имеет свойство true. Таким образом, родители с ID 11,4,1 также будут иметь то же свойство, что и true.
В моем понимании, DFS будет применяться.
Я пробовал следующий код, но не работает во всех случаях
function reverseIt(obj) {
if(obj.children == undefined) {
return obj.clicked;
}
for(i = 0; i < obj.children.length; i++) {
if(!obj.children[i].clicked) {
obj.children[i].clicked = reverseIt(obj.children[i]);
}
return obj.children[i].clicked;
}
return true;
}
reverseIt(obj);