zip双数组Javascript
我有两个javascript数组:zip双数组Javascript,javascript,arrays,Javascript,Arrays,我有两个javascript数组: var array1 = ["a","b","c"]; var array2 = ["e","f","g"]; 我希望得到的数组如下所示: array3 = ["a","e","b","f","c","g"]; 有什么方法可以做到这一点吗?您可以尝试使用concat()方法: var array1 = ["a","b","c"]; var array2 = ["e", "f","g"]; var array3 = array1.concat(array2
var array1 = ["a","b","c"];
var array2 = ["e","f","g"];
我希望得到的数组如下所示:
array3 = ["a","e","b","f","c","g"];
有什么方法可以做到这一点吗?您可以尝试使用
concat()
方法:
var array1 = ["a","b","c"];
var array2 = ["e", "f","g"];
var array3 = array1.concat(array2); // Merges both arrays
对于您的具体要求,您必须遵循以下步骤:
function mergeArrays(a, b){
var ret = [];
for(var i = 0; i < a.length; i++){
ret.push(a[i]);
ret.push(b[i]);
}
return ret;
}
函数合并数组(a,b){
var-ret=[];
对于(变量i=0;i
这应该可以:
function zip(source1, source2){
var result=[];
source1.forEach(function(o,i){
result.push(o);
result.push(source2[i]);
});
return result
}
看
这不是串联,所以答案变了
也许您想使用:直接循环可以吗
array3 = new Array();
for(var i = 0; i < array1.length; i++)
{
array3.push(array1[i]);
array3.push(array2[i]);
}
array3=新数组();
对于(变量i=0;i
您自己尝试过什么吗?会是一样的吗?您想要的不是串联。你已经用这个标题把至少四个人(三个回答者和我)搞糊涂了。对不起,我认为它也算作一个串联。。。我不知道该用什么词来形容我想要的是“zip”zipping 2 Array这将导致元素顺序错误!这不是我需要的,请参阅我问题中的示例。我已根据您的要求更新了我的答案。