gpt4 book ai didi

javascript - 如何检查对象及其属性是否存在?

转载 作者:行者123 更新时间:2023-11-28 12:11:48 26 4
gpt4 key购买 nike

我从 API 调用接收到一个对象。我想检查一下:

  1. 如果对象存在
  2. 对象的属性是否具有我正在寻找的属性

假设我期待以下对象:

success.response.data.users.items.list

现在我想知道这个list对象是否存在。

我已经尝试过:

  • typeof success.response.data.users.items.list !==“未定义”

    我得到的错误:TypeError:无法读取未定义的属性“数据”

  • success.hasOwnProperty("response.data.users.items.list")

    这总是评估为 false,因为 hasOwnProperty 显然无法检查多级对象。

  • success.response.data.users.items.hasOwnProperty("列表")

    我得到的错误:TypeError:无法读取未定义的属性“数据”

有没有任何现代且快速的方法来检查这一点?

最佳答案

如果您可以选择,optional chaining是要走的路:

success?.response?.data?.users?.items?.list || {} 

如果没有,您只需在尝试访问子属性之前检查每个对象是否存在,或者使用带有默认值的 ES6 解构(尽管对于深层嵌套的对象来说相当粗糙):

const { response: { data: { users: { items: { list = {} } = {} } = {} } = {} } = {} } = success || {}

关于javascript - 如何检查对象及其属性是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60582173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com