两个数组结果在Javascript中生成新数组
这是我的两个数据阵列:两个数组结果在Javascript中生成新数组,javascript,loops,Javascript,Loops,这是我的两个数据阵列: var array1 = ["test","test1","test2"]; var array2 = ["test3","test4","test5"]; 我需要压缩数组以获得以下结果: array3["test","test3","test1","test4","test2","test5"] 如何存档此文件?考虑到这两个数组可以有不同数量的元素 var array1=[“测试”、“测试1”、“测试2”]; var array2=[“test3”、“test4”
var array1 = ["test","test1","test2"];
var array2 = ["test3","test4","test5"];
我需要压缩数组以获得以下结果:
array3["test","test3","test1","test4","test2","test5"]
如何存档此文件?考虑到这两个数组可以有不同数量的元素
var array1=[“测试”、“测试1”、“测试2”];
var array2=[“test3”、“test4”、“test5”];
var maxLength=Math.max(array1.length,array2.length)
var array3=[];
对于(变量索引=0;索引 控制台日志(array3)代码>您可以转换数组并将结果平坦化
var array1=[“测试”、“测试1”、“测试2”],
array2=[“test3”、“test4”、“test5”],
结果=[array1,array2]
.reduce((r,a)=>a.map((v,i)=>[…(r[i]|[]),v]),[]))
.减少((a,b)=>a.concat(b));
控制台日志(结果)代码>我建议简洁地实现这一点
让数组1=[“test”、“test1”、“test2”];
设array2=[“test3”、“test4”、“test5”];
常数Weaverays=(阵列1,阵列2)=>{
//仅允许相同长度的数组
if(array1.length==array2.length){
返回数组1.reduce((acc,v,i)=>{
附件推送(v,阵列2[i]);
返回acc;
}, []);
}否则{
console.warn('传递给“weaveArrays”的数组长度必须相等');
返回[];
}
}
log(weaverarys(array1,array2))代码>您可以找到最小长度,处理索引小于最小长度的元素,然后从最小长度索引附加元素
var array1=[“测试”、“测试1”、“测试2”、“测试6”];
var array2=[“test3”、“test4”、“test5”];
var array1_length=array1.length;
var array2_length=array2.length;
var minLength=Math.min(数组1_长度,数组2_长度);
var结果=[];
对于(变量索引=0;索引阵列2_长度){
结果=result.concat(array1.slice(index));
}
if(阵列长度>阵列长度){
结果=result.concat(array2.slice(index));
}
控制台日志(结果)代码>如果array1有2个元素而array2有4个元素会怎么样?在我的第一个示例中,它会检查元素是否存在并安全地推送该值。在我当前的迭代中,我只允许相同长度的数组。取决于OP想要什么谢谢你的帮助。。。那个阵列1,阵列2是动态形成的。最后一排也是动态的。。我很乐意帮忙:)