我在两个地方重用了 javascript 中的一个函数。
在此方法中,我进行调用并检索 json 对象(数据)
data[0].fields['status']
在其中一种情况下,我知道关键“状态”不会出现,并且我需要使用硬编码值,但由于两种情况共享代码,因此我需要捕获这种情况。
是否有一种 get 方法可以安全地检查 key ,如果它不存在,我将使用硬编码值?
data[0].fields.get('status') ?
或者有更好的方法吗?
最佳答案
使用in
operator检查对象上是否存在属性:
if ('status' in data[0].fields) …
如果您的潜在值是 true,您还可以使用简单的 bool 计算,因为 undefined
计算结果为 false。您甚至可以在 short-circuit evaluation 中使用它:
return data[0].fields.status || defaultstate;
关于javascript - json,如何检查 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12543766/