javascript - 用 bool 值反转 if 条件

标签 javascript logical-operators

更多的是好奇心。我目前有一段代码,如下所示:

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时,相反的值将被存储到当isInversefalse时。我想知道是否有更好的方法来编写第一个代码片段?

最佳答案

您可以进一步简化为

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

关于javascript - 用 bool 值反转 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59097169/

相关文章:

c++ - 逻辑运算符在 if 语句中是否相互影响?

javascript - 比较 JavaScript 对象数组属性与字符串

javascript - 将对象转换为数组并按对象键对它们进行分组

javascript - 将存储负载从 View 更改为 Controller ExtJS4

c# - 可以使用按位运算符代替 OR 之类的逻辑运算符吗

r - 将 TRUE 和 FALSE 更改为 Yes 和 No

javascript - 如何修复 table thead 和可滚动的 tbody(thead 包含 3 行)

javascript - 在 Typescript 中访问类的属性

C - if-else 语句的不合理结果

java - 当java中有位运算符时,为什么要使用逻辑运算符