Для каждой ветви дерева записать номер вложенности данной ветви
Есть дерево (вложенный объект):
const three = {
next: [
{
next: null,
},
{
next: null,
},
{
next: null,
},
{
next: [
{
next: null,
},
{
next: null,
},
],
},
],
}
Необходимо записать номер вложенности данной ветви:
getNestingLevelThree(three) -->
{
valueNode: 1,
next: [
{
valueNode: 2,
next: null,
},
{
valueNode: 2,
next: null,
},
{
valueNode: 2,
next: null,
},
{
valueNode: 2,
next: [
{
valueNode: 3,
next: null,
},
{
valueNode: 3,
next: null,
},
],
},
],
}
Примеры:
// Аргумент функции:
{
next: [
{
next: null,
},
{
next: null,
},
{
next: null,
},
{
next: [
{
next: null,
},
{
next: null,
},
],
},
],
}
// Возвращаемое значение функции:
{
valueNode: 1,
next: [
{
valueNode: 2,
next: null,
},
{
valueNode: 2,
next: null,
},
{
valueNode: 2,
next: null,
},
{
valueNode: 2,
next: [
{
valueNode: 3,
next: null,
},
{
valueNode: 3,
next: null,
},
],
},
],
}
// Аргумент функции:
{
next: [
{
next: [
{
next: null
}
]
}
]
}
// Возвращаемое значение функции:
{
valueNode: 1,
next: [
{
valueNode: 2,
next: [
{
valueNode: 3,
next: null
}
]
}
]
}
P.s. результаты функции и тестовых данных сравниваются с помощью результата оборачивания объектов в JSON.stringify, поэтому соблюдение порядка полей важно.