const node = {
"id": 1,
"level": 0,
"children": [{
"id": 2,
"level": 0,
"children": [{
"id": 4,
"level": 0,
"children": []
}, {
"id": 5,
"level": 0,
"children": []
}, {
"id": 6,
"level": 0,
"children": []
}]
}, {
"id": 3,
"level": 0,
"children": []
}]
}
const measure = (node) => {
let queue = [];
queue.push(node);
while (queue.length > 0) {
const { id, level, children } = queue.shift();
console.log(`id:${id}, level:${level}`);
for (let child of children) {
queue.push(Object.assign(child, { level: level + 1 }));
}
}
}
measure(node);