Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查数组是否包含另一个数组_Javascript_Arrays - Fatal编程技术网

Javascript 检查数组是否包含另一个数组

Javascript 检查数组是否包含另一个数组,javascript,arrays,Javascript,Arrays,如果我有两个这样的阵列: arr1 = [[1,2]] arr2 = [1,2] 如何检查arr2是否在arr1中? 我尝试了以下方法: arr1.includes(arr2) 但这个结果是错误的。在JS中有没有一种简单的方法可以做到这一点 编辑:我还想得到arr1中arr2的真实索引。例如: arr1.indexOf(arr2) => 0 因为arr2是arr1的第一个索引。您可以编写一个简单的函数,在数组列表中搜索arr2,记住在比较之前需要排序。以下是一些示例,以获取arr2的

如果我有两个这样的阵列:

arr1 = [[1,2]]
arr2 = [1,2]
如何检查arr2是否在arr1中? 我尝试了以下方法:

arr1.includes(arr2)
但这个结果是错误的。在JS中有没有一种简单的方法可以做到这一点

编辑:我还想得到arr1中arr2的真实索引。例如:

arr1.indexOf(arr2) => 0

因为arr2是arr1的第一个索引。

您可以编写一个简单的函数,在数组列表中搜索
arr2
,记住在比较之前需要
排序。以下是一些示例,以获取
arr2
索引,如果也找到了该索引:

让arr1=[[1,2]];
设arr2=[1,2];
log(arrayInList(arr1,arr2));
arr2=[1,3]
log(arrayInList(arr1,arr2));
函数arrayInList(arr1、arr2){
如果(!arr1 | | arr1.length==0 | |!arr2 | | arr2.length==0)
返回false;
arr2=arr2.sort();
设foundIndex=-1;
for(设i=0;i}
您可以编写一个简单的函数,在数组列表中搜索
arr2
,记住在比较之前需要对
进行排序。以下是一些示例,以获取
arr2
索引,如果也找到了该索引:

让arr1=[[1,2]];
设arr2=[1,2];
log(arrayInList(arr1,arr2));
arr2=[1,3]
log(arrayInList(arr1,arr2));
函数arrayInList(arr1、arr2){
如果(!arr1 | | arr1.length==0 | |!arr2 | | arr2.length==0)
返回false;
arr2=arr2.sort();
设foundIndex=-1;
for(设i=0;i}
您可以执行以下操作:

arr1 = [[1,2]]
arr2 = [1,2]
a = JSON.stringify(arr1);
b = JSON.stringify(arr2);
并检查索引的值,如果arr2不在arr1内,它将返回-1

a.indexOf(b);

您可以这样做:

arr1 = [[1,2]]
arr2 = [1,2]
a = JSON.stringify(arr1);
b = JSON.stringify(arr2);
并检查索引的值,如果arr2不在arr1内,它将返回-1

a.indexOf(b);

为什么不直接使用Array.isArray呢

   let arr1 = [[1,2]];
   let arr2 = [1,2];
   for (let i = 0; arr1.length; i++) {
       if (Array.isArray(arr1[i])) {
         console.log("Found array!")
       }
   }

为什么不直接使用Array.isArray呢

   let arr1 = [[1,2]];
   let arr2 = [1,2];
   for (let i = 0; arr1.length; i++) {
       if (Array.isArray(arr1[i])) {
         console.log("Found array!")
       }
   }