将值添加到多维数组的末尾

时间:2013-03-01 21:14:01

标签: javascript arrays multidimensional-array

我有一个数组数组,我希望每次用户点击添加按钮时都能为数组添加值。

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;

表示多维数组。

谢谢

5 个答案:

答案 0 :(得分:1)

使用push

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

答案 1 :(得分:1)

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

对于您的用例,您可以在阵列的两个级别上执行此操作。见下文:

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

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

答案 2 :(得分:1)

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

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

或使用push方法:

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

...请注意,您已使用空数组transactions[0]初始化[]

答案 3 :(得分:0)

是的,只是多维的同意

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

答案 4 :(得分: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);