这边值等于0判断不进去请问如何处理啊

  list = [
    ...
      {
        field: "education"
        fieldValue: 1
      },
      {
        field: "isFirstDegree"
        fieldValue: 0
      }
    ...
  ]

  list.forEach(item => {
    if (item.fieldValue) { // 本意是想判断是否有值,但值为0,它也false,请问这怎么处理呢
      formObj[item.fieldName] = item.fieldValue
    }
  })
阅读 3.6k
8 个回答

两种思路:
一、显式地指定 item.fieldValue 不能为哪些“空值”,比如 item.fieldValue !== undefined && item.fieldValue !== null
二、从“空值”中排除 0if (item.fieldValue || item.fieldValue === 0)

精确判断

  • item.fieldValue !== undefined && item.fieldValue !== null
  • item.fieldValue || item.fieldValue === 0
  • typeof fieldValue === "number"

也可以用点稀奇的语法

  • item.fieldValue ?? null !== null
  • 如果值一定不小于 0 可以 item.fieldValue >= 0

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题