给定一个JS对象:
var obj = {
a: {
b: {
c: {}
}
}
};
如何将obj.a.b
转换为字符串"obj.a.b"
来计算已使用了多少个对象(3)?在这种情况下obj.a.b
:3。我尝试了''+obj.a.b
,uneval()
,toSource()
,toString()
,for...in
,Object.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);
答案 0 :(得分:-2)
How to check the depth of an object?下已提供了有关如何查找对象深度的解决方案。
如果您只需将其转换为字符串形式,则可以
> JSON.stringify(obj)
"{"a":{"b":{"c":{}}}}"