2

2 つの 1 次元配列から 2 次元配列を作成する js/jquery の関数があるかどうかお尋ねしたいと思います。
次のように手動で実行できることを知っています:

    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 に答える