JS 是或不是 if else

0 javascript arrays if-statement node.js sequelize.js

我怎样才能简化下面的这个动作。
我意识到这很荒谬。
但我所做的一切,要么有效,要么无效,反之亦然。

如果该字段不为空,我需要发送数据。如果为空,则不要发送它:admin|power
它要么为空,要么不为空

const mreq = await Model.findOne({
  where: {
    id: req.params.id,
    old: req.params.times
  }
})
if (!mreq) {
  return
} else if (mreq.admin == null) {
  return
} else if (mreq.admin) {
  res.json(mreq.admin)
} else if (mreq.power == null) {
  return
} else if (mreq.power) {
  res.json(mreq.power)
}
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

您不需要所有不返回任何内容的分支 - 只需测试两个值是否.json在两个 s 内被 d if。使用可选链来保持简洁。

const mreq = await Model.findOne({ where: { id: req.params.id, old: req.params.times } })
if (mreq?.admin) {
    res.json(mreq.admin)
} else if (mreq?.power) {
    res.json(mreq.power)
}
Run Code Online (Sandbox Code Playgroud)