javascript - 如何检查 JavaScript 对象中嵌套键是否可用

标签 javascript

我有以下 JavaScript 对象。

如果myobject包含以下内容,我如何检查特定 key 是否可用?

{
    "AccountNbr": "1234567890123445",
    "AccountName": "Test Bob",
    "Address": {
        "addressId": 1234,
        "line1": "Sample Line 1",
        "line2": "Sample Line 2",
        "city": "Sample City",
        "state": "State"
    }
}

例如,检查 key “AccountNbr”是否可用。我使用了下面的语句,它返回 true。

"AccountNbr" in myobject 

它返回了true。如果我必须检查 key "addressId" 是否可用,我使用了以下语句,尽管 key 可用,但它返回 false。

"Address.addressId" in myobject 

尽管 addressId 可用,但上述语句始终返回 false。是否有其他替代方法来检查 addressId 是否可用?

我还尝试提供myobject.Address.addressId,但它总是返回 false,尽管 key 可用。

最佳答案

你想要的是:

if('addressId' in myobject.Address){

}

更好的可能是:

if('Address' in myObject && 'addressId' in myObject.Address){

}

这是 in 使用的语法,它基本上检查某个键是否在单词 in 之后引用的对象的键之一中。

所以你问'aPotentialKey'是否是Object.keys(myObject)之一

Object.keys(anObject) 将返回对象中的键数组,如果您愿意,我想您可以对它们进行 for 循环并检查其是否相等。但很高兴知道。

关于javascript - 如何检查 JavaScript 对象中嵌套键是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40269184/

相关文章:

javascript - Google +1,每次点击都会中断。使用谷歌的代码。为什么会破

javascript - 如何从数组形成嵌套的 JSON 对象?

javascript - Treemap 导致未捕获类型错误 : Undefined is not a function

javascript - 仅当收到 HTTP 200 时如何通过 pipe() npm-request?

JavaScript 函数

javascript - 生成动态 HTML 表格后对其进行修改

javascript - Bootstrap 日期时间选择器删除子午线上午/下午

javascript - 从 Parse.com 的 webhook 中包含的 ID 检索客户电子邮件

javascript - 在新选项卡中打开超链接,所有内容都应仅写入 HREF 属性值

javascript - jQuery - 检测 contenteditable div 内的元素删除