求救于各位大侠:javascript中二维数组如何输出?请光临。。。。

yanther 2002-09-14 02:20:10
问题是这样的,请看代码?
var subcat = new Array(new Array());

subcat[0][0] ="(2002)ÉÛÖÐÐ̶þ³õ×ÖµÚ1ºÅ";
subcat[0][1]="D7480DB4-648C-4E2E-A0D7-F8DEEA95F466$̰ÎÛ$Ò»Éó$null$null$null$";
subcat[0][2] ="0108";
subcat[1][0] ="(2002)ÉÛÖÐÐ̶þ³õ×ÖµÚ2ºÅ";
subcat[1][1]="D7480DB4-648C-4E2E-A0D8-F8DEEA95F466$̰ÎÛ$Ò»Éó$null$null$null$";
subcat[1][2] ="0109";


for (i=0;i<3;i++)
for(j=0;j<3;j++)
{alert(subcat[1][i]);}
为什么回报错?

而这样就能输出:

subcat[0][0] ="(2002)ÉÛÖÐÐ̶þ³õ×ÖµÚ1ºÅ";
subcat[0][1]="D7480DB4-648C-4E2E-A0D7-F8DEEA95F466$̰ÎÛ$Ò»Éó$null$null$null$";
subcat[0][2] ="0108";
for (i=0;i<3;i++)
{aleret(subcat[0][i]);}

这样才能输出二维数组中的所有元素呢?
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lostinet 2002-09-15
  • 打赏
  • 举报
回复
搞错了哈哈。。这个递归的例子没有意义。~~~
Lostinet 2002-09-15
  • 打赏
  • 举报
回复
//变量空间递归:

function ConstructArrays()
{
var args=arguments;
if(args.length==0)args=[0];
var index=0;
var length=args.length;
return Inner();
function Inner()
{
var count=args[index];
index++;
var arr=new Array(count);
if(index==length)return arr;
var func=eval(Inner);
for(var i=0;i<count;i++)
{
arr[i]=func();
index--;
}
return arr;
}
}
function CreateDefaultValueArraysConstructor(dv)
{
return ConstructArrays;
function ConstructArrays()
{
var args=arguments;
if(args.length==0)args=[0];
var index=0;
var length=args.length;
return Inner();
function Inner()
{
var count=args[index];
index++;
var arr=new Array(count);
if(index==length)
{
for(var i=0;i<count;i++)
arr[i]=dv;
return arr;
}
var func=eval(Inner);
for(var i=0;i<count;i++)
{
arr[i]=func();
index--;
}
return arr;
}
}
}

var arr=ConstructArrays(1,2,3,4);
alert(arr.join().split(",").length);
alert(arr);
var arr=CreateDefaultValueArraysConstructor("a")(1,2,3,4);
alert(arr.join().split(",").length);
alert(arr);
alert(arr[0][1][2][3])
alert(arr[0][1][2][4])//no value;
alert(arr[0][1][3][0])//exception : arr[0][1][3] == undefined
孟子E章 2002-09-15
  • 打赏
  • 举报
回复
<script>
m=10,n=20
//定义
for(i=0;i<m;i++)
{
aaa=new Array(m)
for(j=0;j<n;j++) aaa[j]=new Array(n)
}

//赋值
for(i=0;i<m;i++)
{
for(j=0;j<n;j++) aaa[i][j] = i*j
}

//输出
tmp=""
for(i=0;i<m;i++)
{
for(j=0;j<n;j++) tmp += aaa[i][j] + ","
tmp+="\n"
}

alert(tmp)
</script>
孟子E章 2002-09-15
  • 打赏
  • 举报
回复
假如aaa是已经成的二维数组:可以用下面的方法输出:
tmp=""
for(i=0;i<m;i++)
{
for(j=0;j<n;j++) tmp += aaa[i][l] + "\n"
}

alert(tmp)
xiaobeibei 2002-09-14
  • 打赏
  • 举报
回复
下面的代码不知道是不是你要的意思?
var i ,j;
var twinArray = new Array();

for (i=0; i < 3 ;i ++) {
for (j=0; j < 3 ;j ++) {
twinArray[i] = new Array(new Array(j));
twinArray[i][j] = "i=" + i + "j=" + j;
alert(twinArray[i][j]);
}
}

qiushuiwuhen 2002-09-14
  • 打赏
  • 举报
回复
var subcat = new Array(new Array(),new Array(),new Array());

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧