如何从两个1d数组创建2d数组

时间:2012-10-01 07:35:12

标签: javascript jquery

我想问一下js / jquery中是否有任何函数可以从两个1d数组创建2d数组。
我知道我可以像以下一样手动完成:

    var output = new Array(table1.length);    
    for(var i=0; i<table1.length; i++)
    {
       output[i] = new Array(2)
       output[i][0] = table1[i]
       output[i][1] = table2[i]
    }

但也许有任何功能可以帮我吗?

1 个答案:

答案 0 :(得分:1)

你可以随时编写自己的功能,但并不困难。虽然1提示/建议:不要使用Array构造函数,因为只要你开始使用变量实例化新数组,就像JS这样的松散类型语言,它可能会产生意想不到的结果。
以此为例:

var nArr = new Array(3);//[undefined,undefined,undefined]
var userInput = document.getElementById('userInputTextField').value;//assume input was 3
var nArr = new Array(userInput);//['3'] <-- value of elements is string!

说,这是一个示例函数:

function getArray(table1, table2)
{
    var i, out = [];//literal new array
    for(i=0;i<table1.length;i++)
    {
        out.push([table1[i],table2[i]]);
    }
    return out;
}
var arr = getArray(document.getElementById('table1').rows,document.getElementById('table2').rows);

这应该可以满足您的需求