Javascript 数组存在于数组的数组中

Javascript 数组存在于数组的数组中,javascript,jquery,Javascript,Jquery,如何检查数组数组中是否存在数组?我尝试过普通javascript和jquery方法,但似乎都没有用 这不起作用: $.inArray( [1,2], [[0], [], [1,2]] ) 更简单的一点是: [1,2] == [1,2] //gives false. [1,2] === [1,2] //gives false. 顺序对我的任务来说并不重要,只需要存在相同的元素。我想要比较数组是否相等,必须对单个元素进行比较,不能直接比较数组。 i、 e.您可以循环其中一个元素,并检查每个元素(

如何检查数组数组中是否存在数组?我尝试过普通javascript和jquery方法,但似乎都没有用

这不起作用:

$.inArray( [1,2], [[0], [], [1,2]] )
更简单的一点是:

[1,2] == [1,2] //gives false.
[1,2] === [1,2] //gives false.

顺序对我的任务来说并不重要,只需要存在相同的元素。

我想要比较数组是否相等,必须对单个元素进行比较,不能直接比较数组。 i、 e.您可以循环其中一个元素,并检查每个元素(即1或2)是否存在于您正在比较的另一个数组中,即[1,2]

在对象(数组是对象)中,要比较相等性,必须检查每个成员

function arraysAreEqual(a, b) {
    if (a.length != b.length) return false;
    for (i = 0, l = a.length; i < l; ++i) {
        if (a[i] != b[i]) {
            return false;
        }
    }
    return true;
}
函数数组相等(a,b){
如果(a.length!=b.length)返回false;
对于(i=0,l=a.length;i
通过嵌套数组进行递归搜索可能会更聪明一些,但你明白了

var arr = [[0], [], [1,2]];
var needle = [1, 2];
var i, entry, position = -1;

for(i = 0; entry = arr[i]; i++) {
    if(entry.toString() == needle.toString()){
        position = i;
        break;
    }
}
//position = 2
编辑:这也适用于嵌套数组