Вы можете использовать array.forEach , который будет повторяться только через каждый уровень.
в первом цикле есть параметры вызова свойства, которые являются массивом, вам нужно пройти через циклмассив опций на уровне 0, во втором цикле снова появляется еще один массив опций, вам нужно снова перебрать массив опций на 1 уровне.тогда вы достигнете третьего уровня, который является вашим выходом.
Третий уровень означает начинать с нуля его второй уровень.
Я надеюсь, что это решит проблему.
var data = [
{
"name": "0th level first", //0th level
"options": [
{
"name": "1st level Cafe", // 1st level
"options": [
{
"name": "2nd level Staff", //2nd level
"options": [
{
"name": "Gary", //3rd level
"age": 18
},
{
"name": "James", //3rd level
"age": 25
}
]
}
]
}
]
}
]
data.forEach(fl => {
fl.options.forEach(sl => {
sl.options.forEach(tl => {
console.log("second level starting from 0",tl)
})
})
})