如果条件与布尔值反转



更多的是好奇心。我目前有一段代码看起来像这样:

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);
}
}
});

本质上,当isInverttrue时,相反的值将被存储到falseisInverse时。我想知道是否有更好的方法来编写第一段代码?

您可以进一步简化为

if (isInvert == (query.name == input.name)) {
inputsArray.push(input.id);
}

你可以使用它if(isInvert ^ (query.name != input.name)) inputsArray.push(input.id);^是XOR操作

相关内容

  • 没有找到相关文章

最新更新