在javascript中将两个数组合并为单个多维数组

Moh*_*Ram 2 javascript jquery

status_name=Array("a","b","c","b","e","f");
status_id=Array( 1, 2, 3, 4, 5, 6);
Run Code Online (Sandbox Code Playgroud)

如何组合这两个数组并构建多维数组预期的多维数组是这样的

[["a", 1],["b", 2],["c", 3],["d", 4],["e", 5],["f", 6]]
Run Code Online (Sandbox Code Playgroud)

帮助我如何使用上面两个数组值并构建我期望的多维数组

And*_*y E 7

由于你包含了jQuery,你可以使用jQuery.map与Linus类似的方式回答:

var result      = [],
    status_name = ["a","b","c","b","e","f"],
    status_id   = [1, 2, 3, 4, 5, 6];

result = $.map(status_name, function (el, idx) {
    return [[el, status_id[idx]]];
}); 
Run Code Online (Sandbox Code Playgroud)

看看你的变量名,我猜你是来自一种语言(比如PHP).如果是这种情况,请确保您记得使用var关键字声明局部变量,否则您将污染全局范围,并且您将在IE中遇到一些可怕的错误.


Chr*_*ann 5

JavaScript没有buitin方法,但您可以轻松自己编写:

function zip(arrayA, arrayB) {
    var length = Math.min(arrayA.length, arrayB.length);
    var result = [];
    for (var n = 0; n < length; n++) {
        result.push([arrayA[n], arrayB[n]]);
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

zip选择该名称是因为执行此类操作的函数通常zip在其他语言中调用.