我在if语句中苦苦挣扎,如果用户是admin,我想在vm.model.purchaseDate是否不为空的情况下添加另一个条件
需要一些伪代码来解释它
if(vm.model.purchaseDate && (vm.user.admin then also if(anotherCondition))) {
//do something1
//do something2
//do something3
//do something4
} else {
//do something else
}
因此,如果定义了vm.model.purchaseDate
而用户不是vm.user.admin
,则忽略anotherCondition
。如果用户是vm.user.admin
,则还要检查anotherCondition
。
当我做某件事的代码很长时,我不想最终写很多ifs。试图避免这种情况
if(vm.model.purchaseDate) {
if(vm.user.admin) {
if(anotherCondition) {
//do something1
//do something2
//do something3
//do something4
}
} else {
//do something1
//do something2
//do something3
//do something4
}
} else {
//do something else
}
答案 0 :(得分:7)
对||
和!vm.user.admin
使用OR(anotherCondition
):
if(vm.model.purchaseDate && (!vm.user.admin || anotherCondition)) {
//do something1
//do something2
//do something3
//do something4
} else {
//do something else
}
那样:
!vm.user.admin
为true
,而||
将true
作为结果!vm.user.admin
是false
,因此||
将评估anotherCondition
的结果作为其结果