【发布时间】:2020-06-24 20:14:27
【问题描述】:
我有 2 个用户 ID,如果我只有一个或两个,我想做不同但非常相似的逻辑。有没有办法整合这段代码,因为现在看起来很难看。
function getUserPermission(primaryId, secondaryId, role) {
let permission = userInfo.permissionList.filter( permission => {
//logical AND
if(primaryId && secondaryId){
// have both IDs, use both IDs
(permission.primaryId === primaryId && permission.secondaryId === secondaryId) && permission.role === role
}
//logical XOR
else if((primaryId && !secondaryId) || (!primaryId && secondaryId)) {
// have only 1 ID, use 1 ID
(permission.primaryId === primaryId || permission.secondaryId === secondaryId) && permission.role === role
}
})[0]
return permission
}
【问题讨论】:
标签: javascript logical-operators boolean-logic boolean-operations