【发布时间】:2016-03-22 21:44:47
【问题描述】:
我有一个“结果”对象,我想汇集这些嵌套属性的值。
有没有一种优雅的方式来分配这两个属性的值如果它们存在,否则抛出错误?我发现自己写了一些很长的代码来做这样一个简单的操作。
谢谢
host: result["ServerCA"]["_"],
database: result["DBId"]["_"]
EDIT1 - 更多信息
我的代码构造了一个具有host 和database 两个属性的对象。
result 对象是一个包含一些信息的 JSON。
我不能保证 JSON 实际上会包含ServerCA 下的_ 和DBId 下的_ 这两个属性。事实上,我不能确定ServerCA 和DBId 是否会在result 对象中定义。
所以我试图验证这些属性是否存在,并将它们的值分配给我自己对象的两个属性host 和database。
我怎样才能用最简单的方式来写这个而不是写两个双 IF 语句?
谢谢...
【问题讨论】:
-
您可以使用像
result.ServerCA._这样的点约定,但我怀疑它是否会变得更简单。 -
也许你添加一个示例对象
-
我不清楚你在问什么。您当前的代码不是已经按照您的要求执行了吗?
-
实际上可能没有定义什么?
result.ServerCA?还是result.ServerCA._?或host?在您当前的代码中,如果result.ServerCA不存在,尝试读取result.ServerCA._的值将引发错误。 -
Teemu 没有任何东西可以保证被定义。我已经编辑了我的问题,现在它有更多信息。对不起
标签: javascript object if-statement properties