【发布时间】:2014-03-01 03:17:02
【问题描述】:
假设我有一个具有属性的复杂对象。
var x = {};
x.A.B = 'Hello';
x.A.C = 'World!';
x.D.E = 100;
x.D.F = 2.5;
有什么我可以放在一组方括号中以取回这些属性的吗?一个简单的测试表明x['A.B'] 不会返回'Hello'。这样做有什么语法吗?
【问题讨论】:
-
是的,语法是使用更多的括号或点表示法。
-
x['A']['B'] 应该可以解决问题
-
你应该使用 x['A']['B'] 或 x.A.B
-
情况是我可能不知道我需要去多少层。我希望有一种非迭代的方式来做到这一点。
-
@CoreyOgburn 您可能想要创建一种方法来处理您的情况的随机性。例如:
deepProperyExists('a.b.c', obj)只需迭代周期数并检查每次迭代是否未定义属性。 (a, a.b, a.b.c)
标签: javascript