首页 > 解决方案 > 访问嵌套对象属性的更好的 javascript 方法

问题描述

当您有一个具有多个嵌套属性的对象并且您必须“导航”其内部以达到您想要获得的内容时,例如:

var innerProperty = obj[level1][level2][level3];

也许你在达到第 2 级时会得到 undefined,所以下一个级别 undefined[level3] 会因错误而停止你的代码。

正确的方法是在尝试到达下一个级别之前检查每个级别是否存在,但是代码会开始变得笨拙:

if (obj[level1] && obj[level1][level2]) {
    var innerProperty = obj[level1][level2][level3];
}

然后,您必须再次检查 innerProperty 是否未定义。

处理这个问题的最佳方法是什么,保持代码干净并且不需要在您使用的每个 if 子句中重复嵌套级别名称?

标签: javascript

解决方案


推荐阅读