我有一个数组数组,我希望每次用户点击添加按钮时都能为数组添加值。
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;
表示多维数组。
谢谢
答案 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);