在2d javascript数组中搜索已知的完整数组

在2d javascript数组中搜索已知的完整数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我有一个与此类似的二维阵列: var array = [ {100,200}, {200,200}, {100,400} ]; 现在我想知道2d数组中是否存在已知数组。例如,我想检查[200200]是否作为2d数组中的第二级数组存在 在过去的1d阵列上,我使用了类似于: if (value in array) {...} 似乎无法在2d上使用该方法。最好的解决方案是什么?不确定您是否已经知道,但您的语法不正确。应该是这样的: var array = [ [100,200],

我有一个与此类似的二维阵列:

var array = [
  {100,200},
  {200,200},
  {100,400}
];
现在我想知道2d数组中是否存在已知数组。例如,我想检查
[200200]
是否作为2d数组中的第二级数组存在

在过去的1d阵列上,我使用了类似于:

if (value in array) {...}

似乎无法在2d上使用该方法。最好的解决方案是什么?

不确定您是否已经知道,但您的语法不正确。应该是这样的:

var array = [
  [100,200],
  [200,200],
  [100,400]
];
检查[200200]是否作为二级数组存在的简单方法:

console.log(array[1][0] == 200 && array[1][1] == 200);
另一种简单的方法是使用嵌套循环并遍历每个项目

如果你想快速解决这个问题,你可能需要阅读搜索算法。

var数组=[
[100,200],
[200,200],
[100,400]
];
var searchFor=[200200];
功能阵列存在于侧面(草堆、针){
对于(var i=0;i

您也可以使用

中概述的比较函数,如果我知道要检查的数组中的特定点,即数组[1][0]=200,那么我可能已经知道它在那里了!我需要能够在整个2d数组中搜索这些值。
var array = [
    [100,200],
    [200,200],
    [100,400]
];

var searchFor = [200,200];

function arrayExistsInside(haystack, needle) {
    for(var i = 0; i < haystack.length; i++) {
        if(compareArray(haystack[i], needle)) return true;
    }
    return false;
}

function compareArray(array1, array2) {
    if(array1.length != array2.length) return false;

    for(var i = 0; i < array1.length; i++) {
        if(array1[i] != array2[i]) return false;
    }

    return true;
}

if(arrayExistsInside(array, searchFor)) { ... }