Как проверить глубину объекта?

m работает в системе разрешений с переменной глубиной; в зависимости от сложности страницы, может быть больше или меньше уровней. Я искал StackOverflow, чтобы найти, если это спрашивалось раньше, не могне могу найти это.

Если у меня есть этот объект:

{foo:{bar:{baz : 'baa'}}}

Мне нужно вернуть 3, у него есть 3 уровня.

С этим объектом:

{abc: 'xyz'} 

Это должно быть 1.

Это то, что я до сих пор:

utils.depthOf = function(object, level){
    // Returns an int of the deepest level of an object
    level = level || 1;

    var key;
    for(key in object){
        if (!object.hasOwnProperty(key)) continue;

        if(typeof object[key] == 'object'){
            level++;
            level = utils.depthOf(object[key], level);
        }
    }

    return level;
}

Проблема в том, что он учитывает и сестринские элементы. Это'на самом деле не получить глубину, этоПодсчет всех членов объекта.

Ответы на вопрос(1)

Ваш ответ на вопрос