Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript确定哪个OR语句触发了if语句_Javascript_Conditional - Fatal编程技术网

javascript确定哪个OR语句触发了if语句

javascript确定哪个OR语句触发了if语句,javascript,conditional,Javascript,Conditional,我有这样一个条件(这非常简单,它们实际上是事件): 如何确定哪个var触发了if?执行if(a)else if(b)在这里不是一个很好的选项,因为它会导致大量重复代码。您可以尝试使用返回第一个真条件索引的函数,或者如果所有条件都为假,则使用-1: var conditions = []; conditions.push(a); conditions.push(b); conditions.push(c); conditions.push(d); // ... var triggerer =

我有这样一个条件(这非常简单,它们实际上是事件):


如何确定哪个var触发了if?执行if(a)else if(b)在这里不是一个很好的选项,因为它会导致大量重复代码。

您可以尝试使用返回第一个真条件索引的函数,或者如果所有条件都为假,则使用-1:

var conditions = [];

conditions.push(a);
conditions.push(b);
conditions.push(c);
conditions.push(d);
// ...

var triggerer = (function(){
    for(var i = 0; i < conditions.length; i++){
        if(conditions[i]){ return i; };
    }
    return -1;
})();

if(triggerer != -1){
    // Do something with conditions[triggerer]
}else{
    // Do something when everything is false
}
var条件=[];
条件。推(a);
条件。推(b);
条件。推(c);
条件。推(d);
// ...
变量触发器=(函数(){
对于(变量i=0;i
将条件存储在数组中,并在循环中检查:

var values = [a, b, c, d];
for(var i = 0; i < values.length; i++) {
    if(!values[i]) {
        //...
        // `values[i]` is the *first* condition that satisfies the `if` statement.
        break;
    }
}
var值=[a,b,c,d];
对于(变量i=0;i
您是只需要一个变量,还是需要对所有
的变量执行操作!var
是否为真?如果
!a
是正确的,但
也是正确的!c
,两者都需要吗?你想用这种方式简化什么?如果(a)或者(b)导致大量重复的代码,为什么
会出现呢?我的JS.Typo中没有
或者
操作符。我需要对所有不匹配的进行处理。
var values = [a, b, c, d];
for(var i = 0; i < values.length; i++) {
    if(!values[i]) {
        //...
        // `values[i]` is the *first* condition that satisfies the `if` statement.
        break;
    }
}