var myarr=[[0,1,2],[1,2,3,4,5,6]]; for(var i=0;i<3;i++){ for(var j=0;j<6;j++){ myarr[i][j]=i*j; } } 求大神解释,为什么我这样的写法最后只能输出数组的第一行和第二行?
你的二维数组定义时规定了外围长度, 为2, 后面循环为外层 i 循环 0/1/2 一共是3, 当 i = 2 时 , 后面的循环不执行; 一维数组可以改变长度, 二维不可以, 你可以加上下面注释前那句体会一下
for(var i=0; i<3; i++){
for(var j=0; j<6; j++){
myarr[i][j]=i*j;
document.write("["+i +"]"+"["+j +"]=" + myarr[i][j]+"<br/>"); // 就是这句
}
}