好奇心比什么都重要。我目前有一段看起来像这样的代码:
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
时,将存储与isInverse
为false
时相反的值。我想知道是否有更好的方法来编写第一段代码?
您可以进一步简化为
if (isInvert == (query.name == input.name)) {
inputsArray.push(input.id);
}
您可以使用此if(isInvert ^ (query.name != input.name)) inputsArray.push(input.id);
,其中^是XOR操作