将点表示法中的Javascript对象引用转换为字符串

时间:2016-09-07 20:04:11

标签: javascript string

给定一个JS对象:

var obj = {
            a: {
               b: {
                  c: {}
               }
            }
         };

如何将obj.a.b转换为字符串"obj.a.b"来计算已使用了多少个对象(3)?在这种情况下obj.a.b:3。我尝试了''+obj.a.buneval()toSource()toString()for...inObject.key().length但是这不是我想知道的。 我想这不可能......但不确定。

例如我想要的原因:

function h (o) {
    let a = o.split('.');
    if (a.length > 2) {
        alert('not allowed'); // because obj.a.b > 2
        return;
    } else {
        // because obj.a == 2 -> ok. process with obj.a ..
    }
}

h(obj.a.b);

1 个答案:

答案 0 :(得分:-2)

How to check the depth of an object?下已提供了有关如何查找对象深度的解决方案。

如果您只需将其转换为字符串形式,则可以

> JSON.stringify(obj)
"{"a":{"b":{"c":{}}}}"