如果用或语句不起作用 - javascript

时间:2017-10-27 20:27:26

标签: javascript

在我的应用程序中,此验证检查适用于一个条件,如果我想检查它有两个条件,则不起作用:

if (!admin.isMemberOf('group2')) {...} //works

if (!admin.isMemberOf('group1') || !admin.isMemberOf('group2')) {...} // not working

为了检查这些中的任何一个,我可以简单地使用||,但它对两个组都返回false。在这种情况下如何使用它?谢谢。

编辑:完整条件

   if (!req.user.roles.admin.isMemberOf('root2') || !req.user.roles.admin.isMemberOf('admins2')) {
     workflow.outcome.errors.push('You may not create account groups.');
     return workflow.emit('response');
   }

EDIT2 我知道这个问题听起来很愚蠢但是我试图按照我需要的方式直截了当地做 - 如果成员是所有组的成员,除了指向的一个(或几个)组之外,阻止一些动作。当然它可以替换为"而不是这个和其他组"

1 个答案:

答案 0 :(得分:3)

您需要逻辑AND &&,因为带OR的条件始终为true

if (!admin.isMemberOf('group1') && !admin.isMemberOf('group2')) {...}