Javascript 逻辑运算符&&;in-if语句
我正在迭代一个数组,并希望执行以下操作:Javascript 逻辑运算符&&;in-if语句,javascript,arrays,Javascript,Arrays,我正在迭代一个数组,并希望执行以下操作: for ( var i = 0; i < array.length && !(array[i][1] == 0 && array[i][2] == 'foo'); i++) { 。。。它起作用了。因此,当我试图说“IF TRUE AND!(条件1和条件2)”,但我不确定我做错了什么时,我一定是把语法搞乱了。我的错误在哪里?如果你把测试!(数组[i][1]==0&&array[i][2]
for (
var i = 0;
i < array.length && !(array[i][1] == 0 && array[i][2] == 'foo');
i++)
{
。。。它起作用了。因此,当我试图说“IF TRUE AND!(条件1和条件2)”,但我不确定我做错了什么时,我一定是把语法搞乱了。我的错误在哪里?如果你把测试
!(数组[i][1]==0&&array[i][2]=='foo')
在循环控制表达式中,然后当该操作失败时,循环停止。如果i
为false,它不会跳过该迭代并继续下一个迭代。它只是停止了
如果希望它继续到下一个迭代,则需要将测试放在循环体中,并使用continue
所以基本上我是说“如果我小于数组的长度,那么数组[I]1不是0,数组[I][2]是'foo'”然后做一些事情
在javascript中是:
if((i < array.length) && !(array[i][1] == 0) && (array[i][2] == 'foo'))
请注意,后面括号的位置代码>。带有更改的完整for循环为:
if(i < array.length && !(array[i][1] == 0 && array[i][2] == 'foo'))
for (var i = 0; (i < array.length) && !(array[i][1] == 0) && (array[i][2] == 'foo'); i++) {
for(vari=0;(i
几乎肯定与您的问题无关,但您会希望养成使用===
和!=
的习惯,而不是=
和!=
和=
由于愚蠢的设计决策而做愚蠢的事情;==
和!=
做不那么愚蠢的事情。
if(i < array.length && !(array[i][1] == 0 && array[i][2] == 'foo'))
for (var i = 0; (i < array.length) && !(array[i][1] == 0) && (array[i][2] == 'foo'); i++) {