我现在在javascript中的多维数组有点傻。但在我的程序中,我必须使用它。 我想使用javascript声明一个动态3列和m行数组,然后在循环中我需要向该数组插入一些元素。最后我想显示那个数组。
var x = new Array();
for (var y=0; y<=counter; y++) {
x[y] = new Array (3);
x[y][0]='a';
x[y][1]='b';
x[y][2]='c';
}
非常感谢您的帮助......
答案 0 :(得分:1)
数组根据需要增长,因此声明数组的长度毫无意义。你开始的很好。 http://books.google.ca/books?id=4RChxt67lvwC&pg=PA141&lpg=PA141&dq=JS+array+grow+as+needed?&source=bl&ots=tgY8BlGXm8&sig=_3jcH1LTmYi9QiXxn9pHROpbN1s&hl=en&sa=X&ei=7v60T_XwA4ThggfGuoEX&ved=0CEoQ6AEwAQ#v=onepage&q=JS%20array%20grow%20as%20needed%3F&f=false
http://www.codingforums.com/showthread.php?t=5198
只是抬头它会创建一个比计数器大一号的数组。这是你的for循环中的b / c你有y&lt; = counter和y从0开始。如果你想要将长度改为将其改为
y<counter
为了显示您可能想要考虑嵌套循环的数组。
JS
for(var i=0; i<x.length; i++)
for (var j=0; j<3; j++)
alert(x[i][j]);
其中x是对数组的引用。 如果要立即打印整个数组,请考虑从数组中的元素创建一个字符串并打印
function displayArray(x){
var stringArray='';
for(var i=0; i<x.length; i++)
for (var j=0; j<3; j++)
stringArray+= x[i][j];
alert(stringArray);
}
答案 1 :(得分:0)
这样的东西?
var x = [
[
[1, 2, 3],
[4,5,6]
],
[
[7, 8, 9]
]
];
alert(x[0][1][2]);
这就是为什么JavaScript的变量语法并不总是被破解的原因之一。与Java比较:
String[][][] x = new String[5][5][5];
答案 2 :(得分:0)
这样的事可能吗?
var sDataArray=MultiDimensionalArray(7,2);
alert(sDataArray[0][0]);
function MultiDimensionalArray(iRows,iCols)
{
var i;
var j;
var a = new Array(iRows);
for (i=0; i < iRows; i++)
{
a[i] = new Array(iCols);
for (j=0; j < iCols; j++)
{
a[i][j] = "";
}
}
return(a);
}
在行中动态可能你想要一个数组列表?您还可以使用方法添加一行,并增加数组大小。
答案 3 :(得分:0)
try something like this..
var cols = 3;
var rows = 5;
createArray(cols,rows);
function createArray(cols,rows) {
var newArray = [];
for(i=0;i<cols;i++) {
newArray[i] = [];
for(j=0;j<rows;j++) {
newArray[i][j] = "["+i+"]"+"["+j+"]";
}
}
return newArray;
}