const aaa = { b: { g: 3, h: { i: 4, }, }, d: { e: 2, f: { g: 3, h: { i: 4, }, }, j: { k: 5, f: { g: 3, h: { i: 4, }, } }, }, };
function testLevel(param) {
const isObject = Object.prototype.toString.call(param) === '[object Object]';
if (!isObject) return 0;
const level = 1;
let childrenLevel = 0;
Object.entries(param)
.map(([key, value]) => {
const valueLevel = testLevel(value, level);
if (valueLevel > childrenLevel) childrenLevel = valueLevel;
});
return level + childrenLevel;
}
console.log(testLevel(aaa));