代码之家  ›  专栏  ›  技术社区  ›  timbre timbre

如何检查JavaScript[duplicate]中是否存在多个对象中的属性

  •  0
  • timbre timbre  · 技术社区  · 3 年前

    我有一个这样的结构:

    { "a": 
      { "b": 
        { "c": 
          { "property": "value" }
        }
      }
    }
    

    目前我有:

      function f(value) {
    
          var json = JSON.parse(value);
          ...
          var prop = json.a.b.c.property;
          ...
    

    这似乎是可行的,但如果 a.b.c.property 丢失我在日志中收到一个错误:

    相反,如果属性不存在,我希望尽早退出函数。那么,我是否需要将每个级别与 undefined ,还是有更好的方法?

        var json = JSON.parse(value);
        if json.a == undefined || json.a.b == undefined || json.a.b.c == undefined || json.a.b.c.property == undefined {
            return;
        }
        ...
        var prop = json.a.b.c.property;
        ...
    
    1 回复  |  直到 3 年前
        1
  •  1
  •   gen_Eric    3 年前

    如果您使用的是现代网络浏览器(阅读:非IE),那么您可以使用新的浏览器 ?. operator .

    var prop = json?.a?.b?.c.property;