javascript-如何将数组中的每个元素与不同数组中的其他元素合并?
假设我们有两个数组,我们希望返回一个数组,其中包含每个数组1[element]+(数组2中的其余元素),依此类推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=[“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
,并对三星浏览器感到惊讶。这太棒了,我已经完成了硬编码,因为我只有三个阵列,所以我只合并了前两个阵列,然后是最后一个阵列。但您的解决方案更具动态性:)