Javascript 数组存在于数组的数组中
如何检查数组数组中是否存在数组?我尝试过普通javascript和jquery方法,但似乎都没有用 这不起作用: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.您可以循环其中一个元素,并检查每个元素(
$.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
编辑:这也适用于嵌套数组