2013-03-01 61 views
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; 

用于多维数组。

谢谢

+0

不顾[I]这是使用计数器 – user2101459 2013-03-01 21:16:10

回答

1

使用push

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

您正在寻找的Array.push()方法。它允许您将值推到数组的末尾。

对于您的用例,您可以在数组的两个级别上执行此操作。请看下图:

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

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

***三江源!*** – user2101459 2013-03-01 21:28:56

1

没有为使用相同的方法没有任何问题:

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

push方法:

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

...记住你已经初始化transactions[0]与空阵列[]

+0

** **大胆伟大的尝试!谢谢! – user2101459 2013-03-01 21:28:06

+0

@ user2101459不客气:) – VisioN 2013-03-01 21:31:46

0

是的,只是同上多维

transactions[0][transactions[0].length] = var1; 
+0

***谢谢!*** – user2101459 2013-03-01 21:28:33

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