更多的是好奇心。我目前有一段代码看起来像这样:
var inputsArray=[];
userInputs.forEach(input=>{
if(isInvert ? query.name == input.name : query.name != input.name){
inputsArray.push(input.id);
}
});
在此之前,我有:
var inputsArray=[];
userInputs.forEach(input=>{
if(isInvert){
if (query.name == input.name){
inputsArray.push(input.id);
}
}else {
if (query.name != input.name){
inputsArray.push(input.id);
}
}
});
本质上,当isInvert
true
时,相反的值将被存储到false
isInverse
时。我想知道是否有更好的方法来编写第一段代码?
您可以进一步简化为
if (isInvert == (query.name == input.name)) {
inputsArray.push(input.id);
}
你可以使用它if(isInvert ^ (query.name != input.name)) inputsArray.push(input.id);
^是XOR操作