Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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,假设我们有两个数组,我们希望返回一个数组,其中包含每个数组1[element]+(数组2中的其余元素),依此类推 让数组1=[“a”,“b”]; 设array2=[“e”,“f”]; 设array3=mergeArrays(array1,array2);//[“ae”、“af”、“be”、“bf”] //我试过这样的东西 让输出=[]; 设x=0; for(设i=0;icurr+el); 附件推送(…产品) 返回acc; }, []); 控制台日志(结果)带有两个贴图和展开: 让数组1=[“a

假设我们有两个数组,我们希望返回一个数组,其中包含每个数组1[element]+(数组2中的其余元素),依此类推

让数组1=[“a”,“b”];
设array2=[“e”,“f”];
设array3=mergeArrays(array1,array2);//[“ae”、“af”、“be”、“bf”]
//我试过这样的东西
让输出=[];
设x=0;
for(设i=0;i
您可以简单地使用嵌套for(
…of
)循环来生成两个数组的笛卡尔乘积:

让数组1=[“a”,“b”];
设array2=[“e”,“f”];
函数合并阵列(arr1、arr2){
设res=[];
(第1页,共1页){
对于(第2部分的j){
推力(i+j);
}
}
返回res;
}
设array3=mergeArrays(array1,array2);
控制台日志(array3)使用ES6:

常量数组1=[“a”,“b”];
常量数组2=[“e”,“f”];
const result=array1.reduce((acc,curr)=>{
const product=array2.map(el=>curr+el);
附件推送(…产品)
返回acc;
}, []);

控制台日志(结果)带有两个贴图和展开:

让数组1=[“a”,“b”];
设array2=[“e”,“f”];
设array3=array1.map(a=>array2.map(b=>a+b)).flat();
控制台日志(array3)甚至比:

让数组1=[“a”,“b”];
设array2=[“e”,“f”];
设array3=array1.flatMap(a=>array2.map(b=>a+b));

控制台日志(array3)到目前为止您尝试了什么?您面临的问题是什么?可能重复@leetylor不,这是另一个问题。这是关于笛卡尔积的,你链接的是关于联合的,很酷的。但请记住。我最近使用了
Array.prototype.flat
,并对三星浏览器感到惊讶。这太棒了,我已经完成了硬编码,因为我只有三个阵列,所以我只合并了前两个阵列,然后是最后一个阵列。但您的解决方案更具动态性:)