Javascript 函数在比较两个数组时不执行
我试图让一个比较运算符工作,但没有成功。操作员比较两个阵列以确保它们相同Javascript 函数在比较两个数组时不执行,javascript,jquery,arrays,Javascript,Jquery,Arrays,我试图让一个比较运算符工作,但没有成功。操作员比较两个阵列以确保它们相同 if (($(array_1).not($(array_2)).length === 0 && $(array_2).not($(array_1)).length === 0)) { alert("all matches dropped"); } 代码当然可以用“true”代替比较 if (true) { alert("all matches dropped"); } 奇怪的
if (($(array_1).not($(array_2)).length === 0 && $(array_2).not($(array_1)).length === 0)) {
alert("all matches dropped");
}
代码当然可以用“true”代替比较
if (true) {
alert("all matches dropped");
}
奇怪的是,当进入控制台时,比较返回“true”:
console.log($(array_1).not($(array_2)).length === 0 && $(array_2).not($(array_1)).length === 0)
----> true
有什么想法吗?谢谢。应该是:
if($(array_1).not(array_2).length === 0 && $(array_2).not(array_1).length === 0)
而不是:
if (($(array_1).not($(array_2)).length === 0 && $(array_2).not($(array_1)).length === 0))
这里
$(array_1).not(array_2).length
和($(array_1).not($(array_2)).length
这两个东西不是一回事。array_1和array_2
里面是什么?“奇怪的是,当进入控制台时,比较返回'true'。”–如果您没有将其输入控制台,但在代码中的if
语句之前直接进行相同的调试输出…?您正在将数组长度与值0进行比较,该值为falsy。因此,在您的情况下,数组长度if未找到则等于0,因此false=false返回true。为什么不这样使用?$(array_1).length==0&&$(array_2).length==0
查找jquery的not运算符