Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 如何减少;“如果声明”;条件[减少if语句中的条件]_Javascript_Jquery_If Statement_For Loop_Multiple Conditions - Fatal编程技术网

Javascript 如何减少;“如果声明”;条件[减少if语句中的条件]

Javascript 如何减少;“如果声明”;条件[减少if语句中的条件],javascript,jquery,if-statement,for-loop,multiple-conditions,Javascript,Jquery,If Statement,For Loop,Multiple Conditions,经过几天的深思熟虑,我选择问这个问题。我有带多个条件的if语句: //var current is array of arrays of integers if((current[rot][0] + x)<blocks.length && (current[rot][1] + x)<blocks.length && (current[rot][2] + x)<blocks.length && (cur

经过几天的深思熟虑,我选择问这个问题。我有带多个条件的
if
语句:

//var current is array of arrays of integers
if((current[rot][0] + x)<blocks.length 
    && (current[rot][1] + x)<blocks.length 
    && (current[rot][2] + x)<blocks.length 
    && (current[rot][3] + x)<blocks.length
    && !$(blocks[current[rot][0]+x]).hasClass("blockLand") 
    && !$(blocks[current[rot][1]+x]).hasClass("blockLand")
    && !$(blocks[current[rot][2]+x]).hasClass("blockLand")
    && !$(blocks[current[rot][3]+x]).hasClass("blockLand"))
    {
    //something to happen here ONCE!
    }
//var current是整数数组的数组
如果((当前[rot][0]+x)
var b=true;

对于(var i=0;i我想我理解你的要求,但如果还有什么我能做的,请告诉我

JavaScript有一个三元(条件运算符)

此运算符允许您根据内部if/else条件指定真/假值

这里有一些代码供您解释

window.onload=function(){
Var1=1;
Var2=2;
控制台日志(一个>两个?“较大”:“不较大”);

}
添加完整的代码,也添加HTML,这可能有助于优化代码。这都是关于逻辑的,其他代码并不能解决这个问题!如果您的目标是使其更具可读性,您可以将原子条件提取到布尔函数或变量,并检查them@CeylanMumunKocaba你完全错了,另一个代码与此有着千丝万缕的联系——它帮助我们找到更高效、更简单的解决方案,而这些解决方案离不开它。它也为我们提供了一个背景,让我们作为一个基础来工作。请记住,我们正试着帮助你——合作,或者说,如果是私人的话。@Ceylamunkucabaaş我们都在这里试图帮助你。如果你不添加完整的代码,解决方案提供的n可能不是最优的。现在还不清楚数组包含什么,x是什么,以及DOM中的元素是如何放置的。我正在处理它,这是一种工作。当我完成它时,我会回复你并批准你的答案(24小时内)。
var b = true;

for (var i = 0; i <= 3; i++) {

    // In two lines for being clear, but it's possible just in one
    b = b && (current[rot][i] + x)<blocks.length 
    b = b && !$(blocks[current[rot][i]+x]).hasClass("blockLand"); 

    // You could speed it up this way. 
    if(!b) break;
}

if (b) {
    //something to happen here ONCE!
}