如何檢查數組是否存在於數組數組中?我已經嘗試了簡單的JavaScript和jQuery方法,但似乎沒有幫助。數組存在於數組數組中
IE這不起作用:
$.inArray([1,2], [[0], [], [1,2]])
甚至更簡單的一個:
[1,2] == [1,2] //gives false.
[1,2] === [1,2] //gives false.
順序我的任務不是重要,只有相同的元素存在的是neccesary。
如何檢查數組是否存在於數組數組中?我已經嘗試了簡單的JavaScript和jQuery方法,但似乎沒有幫助。數組存在於數組數組中
IE這不起作用:
$.inArray([1,2], [[0], [], [1,2]])
甚至更簡單的一個:
[1,2] == [1,2] //gives false.
[1,2] === [1,2] //gives false.
順序我的任務不是重要,只有相同的元素存在的是neccesary。
在對象(和數組是對象)中,要比較相等性,您必須檢查每個成員。
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;
}
你可以通過嵌套數組來實現遞歸搜索,但你明白了。
我想比較數組是否相等,你必須比較單個元素,不能直接比較數組。 即可循環其中之一併檢查每個元素(即1或2)是否出現在您正在比較的另一個數組中,即[1,2]。
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
編輯:這也適用於嵌套數組