0

配列の配列があり、ユーザーが追加ボタンを押すたびに配列に値を追加できるようにしたいと考えています。

var transactions = [];
transactions[0] = []; // holds date
transactions[1] = []; // holds transaction type
transactions[2] = []; // holds amount


transactions[0][i] = $("date").value;
transactions[1][i] = $("transType").value;
transactions[2][i] = parseFloat( $("amount").value);

これらはスニペットです。。。この時点で、検証(これを実行します)に取り組む必要があることに気付きました。配列のロードにもっと関心があります。問題は、私が精通している方法が1次元配列で機能し、それを置き換える方法がわからないことです。

要するに、これを再現することは可能ですか?

transactions[transactions.length] = $("date").value;

多次元配列の場合。

ありがとうございました

4

5 に答える 5

1

使用push

transactions[0].push( $("date").value );
于 2013-03-01T21:16:07.240 に答える
1

Array.push()メソッドを探しています。これにより、値を配列の最後にプッシュできます。

ユースケースでは、アレイの両方のレベルでそれを行うことができます。下記参照:

var transactions = [];
transactions.push([]);
transactions.push([]);

transactions[0].push( $('date').value );
于 2013-03-01T21:16:35.897 に答える
1

同じアプローチを使用しても問題はありません。

transactions[0][transactions[0].length] = $("date").value;

またはpushメソッドを使用して:

transactions[0].push($("date").value);

transactions[0]...空の配列で初期化したことを覚えておいてください[]

于 2013-03-01T21:17:02.647 に答える
0

はい、多次元の場合は同じです

transactions[0][transactions[0].length] = var1;
于 2013-03-01T21:17:30.810 に答える
0

あなたがやっていることは少し奇妙に思えます:

[[array of transaction dates],[array of transaction types],[array of transaction amounts]]

あなたは本当にしたくないですか

[array of transactions, with date,type,amount properties]

?

var transactions = [];
transactions.push({'date': $("date").value, 'type': $("transType").value, 'amount': parseFloat( $("amount").value)});

var i = 0;

alert('date ' + transactions[i].date + ' type ' + transactions[i].type + ' amount ' + transactions[i].amount);
于 2013-03-01T22:58:25.073 に答える