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



我有一个数组的数组,我希望能够在每次用户点击添加按钮时向数组添加值。

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;

表示多维数组。

谢谢

使用push:

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

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

对于您的用例,您可以在数组的两个级别上都这样做。见下文:

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

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

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

push法:

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

…请记住,您已经用空数组[]初始化了transactions[0]

是的,只是多维的idem

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

你这样做似乎有点奇怪:

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

相关内容

  • 没有找到相关文章

最新更新