2

我想问一下 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]
    }

但也许有任何功能可以为我做这件事?

4

1 回答 1

2

您总是可以编写自己的函数,这并不难。虽然 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);

那应该给你你需要的

于 2012-10-01T07:40:58.683 回答