<script language="javascript">
var row=new Array();  //行 
var col=new Array();  //列
var a =new Array();col.push("A1");
col.push("B1");
col.push("C1");
col.push("...");row[1]=col;document.write("<br />row[1]="+row[1]);
//清空col,
col.splice(0,1000);col.push("A2");
col.push("B2");
col.push("C2");
col.push("...");
row[2]=col;
 
 document.write("<br />row[2]="+row[2]);a.push(row[1],row[2]);
document.write("<br/> a="+a);</script>

其结果是
row[1]=A1,B1,C1,...
row[2]=A2,B2,C2,...
a=A2,B2,C2,...,A2,B2,C2,... 为什么a不是A1,B1,C1,...,A2,B2,C2,... 

解决方案 »

  1.   

    a.push(row[1],row[2]);
    在这里做的是a.push(row[1])
               a.push(row[2]); 
    所以不行
      

  2.   

    说错了,我想 的结果是:a=[[A1,B1,C1],[A2,B2,C2]]
      

  3.   

    错.看错了
    alert(a[1])
    alert(a[2])
    你看看
      

  4.   

    a[0]和a[1]...
    写错LZ的是对的,只是write不会给你写成你要的形式..
      

  5.   

    喔,那为什么我用a[0]也是A2,B2,C2呢,不应该是a1,b1,c1吗??
      

  6.   

    单独write row[1]和row[2]时,就无问题,当push row[1]和row[2]后,我探测a[0]这个元素应该是row[1]的
      

  7.   

    这是因为你的row[1]和row[2]共用了一个副本col修改2的时候动态的把1也修改了(因为共用一个副本)你这个在java里叫做浅复制
      

  8.   

    第一次你row[1]指向的是col,值是a1,a2,a3当你修改了col,row[1]还是指向的col,所以也会跟着变