Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Function_Multidimensional Array_Javascript Objects - Fatal编程技术网

比较javascript中的一维数组和多维数组

比较javascript中的一维数组和多维数组,javascript,arrays,function,multidimensional-array,javascript-objects,Javascript,Arrays,Function,Multidimensional Array,Javascript Objects,我使用javascript比较单个数组和多维数组。 这里我想比较这两个数组,并显示匹配的值 arr[1,2,3]多维数组“md2”中要搜索的值 这是我的代码::我将单个数组和其他数组作为多维数组 var arr = [1,2,3]; var md2 = [[23,8,2],[1,5,8],[1,2,3],[8,5,2]]; for(var j=0; j<md2.length ; j++){ if(arr == md2[j]){ console.log(arr + " ...

我使用javascript比较单个数组和多维数组。 这里我想比较这两个数组,并显示匹配的值

  • arr[1,2,3]
    多维数组“md2”中要搜索的值
这是我的代码::我将单个数组和其他数组作为多维数组

var arr = [1,2,3];
var md2 = [[23,8,2],[1,5,8],[1,2,3],[8,5,2]];
for(var j=0; j<md2.length ; j++){
  if(arr == md2[j]){
    console.log(arr + " ... " + md2[j]);
  }
}
var-arr=[1,2,3];
var md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];
对于(var j=0;j您可以使用
.find()
.every()
方法在多维数组中查找数组:

var arr1=[1,2,3];
var arr2=[1,2,5];
var md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];
var searchAndPrint=(a1,a2)=>{
设arr=a1.find(a=>a.every((v,i)=>v==a2[i]);
如果(arr)
控制台日志(arr);
其他的
控制台日志(“无结果”);
};
搜索和打印(md2,arr1);
searchAndPrint(md2,arr2);
您可以使用
.find()
方法查找多维数组中的数组:

var arr1=[1,2,3];
var arr2=[1,2,5];
var md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];
var searchAndPrint=(a1,a2)=>{
设arr=a1.find(a=>a.every((v,i)=>v==a2[i]);
如果(arr)
控制台日志(arr);
其他的
控制台日志(“无结果”);
};
搜索和打印(md2,arr1);

searchAndPrint(md2,arr2);
在js中不能比较
数组
。如果要比较简单数组,可以将它们转换为
字符串
进行比较。此方法不适用于包含
对象的数组
var-arr=[1,2,3];
var md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];

对于(var j=0;j在js中不能比较
数组
。如果要比较简单数组,可以将它们转换为
字符串
进行比较。此方法不适用于包含
对象的数组
var-arr=[1,2,3];
var md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];

对于(var j=0;j,您可以使用
JSON.stringify
来比较数组

var-arr=[1,2,3];
var md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];

对于(var j=0;j,您可以使用
JSON.stringify
来比较数组

var-arr=[1,2,3];
var md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];

对于(var j=0;j进行检查,您需要直接检查长度和项目,因为您没有相同的对象引用

var arr=[1,2,3],
md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];

log(md2.some(a=>arr.length==a.length&&a.every((v,i=>v==arr[i]));
要进行检查,需要直接检查长度和项目,因为没有相同的对象引用

var arr=[1,2,3],
md2=[[23,8,2],[1,5,8],[1,2,3],[8,5,2];
console.log(md2.some(a=>arr.length==a.length&&a.every((v,i=>v==arr[i]);
较短解决方案的可能副本的可能副本(但性能可能较低),可以强制字符串中的数组,然后比较它们,而不是使用
每一个
较短的解决方案(但性能可能较低),可以是强制字符串中的数组,然后比较它们,而不是使用
every