为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会出现所有的数组结果?

var myarr=new Array();

for(var i=0;i<3;i++){

    myarr[i]=new Array();

    for(var j=0;j<6;j++){

        myarr[i][j]=i*j;

    }

}

document.write("二维数组的最终值是"+myarr);

为什么会出现所有的结果而不是最后一个结果?

正在回答

2 回答

大概看懂了你的问题;

这样分析你的程序:

  1. 通过new生成了myarr的无属性数组对象;

  2. 通过i的一次遍历为myarr对象添加了3个属性,同时这3个myarr[i]属性也是数组对象;

  3. 通过j的一次遍历为每个myarr[i]对象添加了6个属性;

  4. 最后你输出的是myarr对象,会输出所有的属性,即所有的myarr[i]数组,所以就不是一个结果了

0 回复 有任何疑惑可以回复我~
#1

你问我叫虾米名 提问者

懂了,谢谢~
2015-12-15 回复 有任何疑惑可以回复我~
#2

lonelyvaf

既然遍历了,那中间赋值的是要干嘛?myarr[i][j]=i*j; 为什么不直接myarr[i][j]=18;
2015-12-29 回复 有任何疑惑可以回复我~

为什么不是所有的值。。。

都是数组了,怎么会是一个值。。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么会出现所有的数组结果?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信