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

二维数组输出问题

var arr=[[0,1],[2,3],[4,5]]; var i=0,j=0; var row; for(;i<arr.length;i++){ row=arr[i];                console.log(row.length); for(;j<row.length;j++){ } } 为啥console.log(row.length);输出的是2;  按道理应该直接输出3啊

正在回答

2 回答

arr.length才是数组arr的长度,row变量为arr对应【子数组】的元素,当i=0时,row=arr[0],数组arr的第一个元素赋值给row,并且row元素数组,row.length为arr第一个元素里的数组长度

1 回复 有任何疑惑可以回复我~
var arr=[[0,1],[2,3],[4,5]]; 
var i=0,j=0; 
var row; 
for(;i<arr.length;i++){ 
    row=arr[i]; @tag1
    console.log(row.length); 
    // j = 0;
    for(;j<row.length;j++){ 
    
    } 
}

在@tag1 处的代码执行时(假设 i = 0): 

row = arr[0]; // arr[0] = [0,1]
row.length ==> 2

...

你的第二层循环有问题,j 没有清零, 在第二循环开始时 j 已经累加了,不是0.

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

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281117    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程

二维数组输出问题

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