2013-03-01 63 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);