我想做相反的事情,而不是访问带有已知点符号的深对象:从深对象的键构建点符号字符串。
因此,给出以下JSON对象:
{ great:{ grand:{ parent:{ child:1 }, parent2:1 } } }
我想获得以下路径数组:
[ "great.grand.parent.child", "great.grand.parent2" ]
提前致谢!
试试这个。但是我不知道你为什么需要这个。
function path(a) { var list = []; (function(o, r) { r = r || ''; if (typeof o != 'object') { return true; } for (var c in o) { if (arguments.callee(o[c], r + "." + c)) { list.push(r.substring(1) + "." + c); } } return false; })(a); return list; } var a = { great:{ grand:{ parent:{ child:1 }, parent2:1 } } }; console.log(JSON.stringify(path(a)));