Pug 条件检查列表中是否有值

Pug conditional check if value in list

有没有办法检查一个值是否在 pug 的集合中?像

unless user.id in allUsers.ids
  //- do something

其中 allUsers 是用户对象的列表,例如

[
  {
    id: 1,
    name: 'Tom'
  },
  {
    id: 2,
    name: 'Jerry'
  }
]

Pug's conditionals 是“普通的 JavaScript”,有两个例外:

  • 括号是可选的
  • unless 的工作方式类似于取反 if.

因此,无需为 Pug 传递自定义查找函数。您可以改为使用常规 Array.prototype.find():

unless allUsers.find((u) => u.id === user.id)
  //- user not found; do something