let user = {
firstUser: {
age: 22
}
}
function rec(user) {
for (let key in user) {
if (typeof (user[key]) == "object") {
console.log(key)
rec(user[key]);
} else {
console.log(key.toUpperCase())
}
}
}
rec(user)
Результат:
firstUser
AGE
По вложенности полагаю примерно так можно сделать:
let user = {
firstUser: {
age: 22
},
testLevels: {
is2level: {
a2level: {
a3level: 100
}
}
}
}
let level = 1;
function rec(user) {
switch(level) {
case 3:
console.log('Привет, это 3 уровень вложенности');
break;
case 10:
console.log('Привет, 10 уровень');
break;
}
for (let key in user) {
if (typeof (user[key]) == "object") {
++level;
console.log(key)
rec(user[key]);
} else {
console.log(key.toUpperCase())
level = 0
}
}
}
rec(user)
P.S. Если функция планируется использоваться несколько раз - level сбрасывать.
P.S.S. Не самая лучшая реализация, можно улучшить.