判断是否为空

const obj = {
    a: '',
    b: null,
    c: [],
    d: 123
}

取出d的值,如何判断简单便捷

阅读 1.7k
4 个回答
  • 如果 obj 有可能是空的,用 obj?.d
  • 如果 d 是空需要转为默认值(假设 0),可以 obj.d ?? 0
  • 兼顾上面两种情况:obj?.d ?? 0
  • 如果不能使用可选链或空合并(和上面不全等,但多数情况下一致)

    • obj && obj.d
    • obj.d || 0
    • (obj && obj.d) || 0

d:0 这也是个大问题
布尔值 false 算不算有值
应当确认每个字段的类型

在if ! 基础上 && !==0

数组判断长度
对象判断key数量 如果有用lodash库 有方法 _.isEmpty

obj.d ?? '非空'

const obj = {
    a: '',
    b: null,
    c: [],
    d: 123
}
Object.values(obj).find(p => p != null && p.length != 0) // 123
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题