Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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
zip双数组Javascript_Javascript_Arrays - Fatal编程技术网

zip双数组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

我有两个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); // 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这将导致元素顺序错误!这不是我需要的,请参阅我问题中的示例。我已根据您的要求更新了我的答案。