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);

这些是片段。. . 我意识到我需要进行验证(我会这样做),此时我更关心加载数组。问题是我熟悉的方法适用于一维数组,我不知道如何替换它。

简而言之,是否可以重现这一点:

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

你在做什么似乎有点奇怪:

[[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 回答
0

是的,只适用于多维

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