小马奔腾v2
2016-08-18 15:12
二维数组的定义方法二:var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]不太理解。对应到表格,数值怎么填入?Myarr[0][0]=?; Myarr[0][1]=?; Myarr[0][2]=?; Myarr[1][0]=?; Myarr[1][1]=?; Myarr[1][2]=?; 我觉得是2*3=6这样的排列,那是行为2还是列为2。
反过来说,如果1,2,3,4,5,6,7,8,9,10,11,12,这组数12个值,3*4,又怎么定义呢?
感谢大家的回答,让我觉得我不是一个人在学习,是和大家一起在进步。前面二维数组中值和表格的填入关系我大概搞懂了,就是一维数组,然后每个一维数组又包含子元素。大盒子套若干小盒子。3*4那个谁来直接定义一下,看看跟我想的定义方法是否一样?(类似这种var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]直接把0,1,2,1,2,3数值传入的定义方法)。
1-12的3*4数组应该这样定义:var arr = [[1, 2, ,3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]。[1, 2, 3, 4]表示第一行,可以看出有4列,总共有3行。
开始我也不理解,看了采纳的答案,我想我懂了,再结合,二维数组怎么来的,从一维数组演变而来;那么问题来了,var arr = [[1, 2, ,3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];怎么看成一维数组呢?
首先上面可以让我们想到在创建一维数组的案例中有var arr=[1,2,3],相当于放了三个盒子从上摆下(三行);对应二维数组中【1,2,3,4】表示第一行;【5,6,7,8】表示第二行;【9,10,11,12】表示第三行;一维数组的长度对应二维数组的行数;那么再看var arr= 【1,2,3,4】,放了4个数;在二维中就是在第一个盒子中放了四个数;以此类推:
第一行 1 2 3 4
第二行 5 6 7 8
第三行 9 10 11 12
这样二维数组就出来了,三行四列
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
3 10 11 12
myarr[0]=1,4,7,10;
myarr[1]=2,5,8,11;
myarr[2]=3,6,9,12;
myarr[0][0]=1;myarr[0][1]=4;myarr[0][2]=7;myarr[0][3]=10;
myarr[1][0]=2;myarr[1][1]=5;myarr[1][2]=8;myarr[1][3]=11;
myarr[2][0]=3;myarr[2][1]=6;myarr[2][2]=9;myarr[2][3]=12;
可以将var c=[[0,1,2],[1,2,3]]看成是var a=[0,1,2],var b=[1,2,3],var c=[a,b],二维数组可以理解为一位数组,只是一位数组里存放的是数值,字符串等数据,而二维数组里存放的是一维数组。二维数组其中的某一元素var[i][j],对应的是第i个一维数组里第j个元素
我是这样理解的,2*3我理解成一个数组包含2个子数组,每个子数组包含3个值,即
[['值一','值二','值三'],['值一','值二','值三']]
对应到表格,其实我觉得随意,看你习惯怎么看,从左往右看,或者从上往下看,只是自己假设了一个坐标,同理,1-12个值,3*4,是不是可以说成是 数组包含了3个子数组,每个子数组包含4个值呢?即
[['值一','值二','值三','值四'],['值一','值二','值三','值四'],['值一','值二','值三','值四']]
对应到索引上:arr[i] -->['值一','值二','值三','值四']...
arr[i][j] -->'值X'
3*4的和这个类似
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]];
Myarr[2][3]
去把C语言看一遍就知道了
二维数组,你抽象成表格理解很对啊~~ 你定义3*4的二位数组,你可以这么看,便于理解:
var arr = [
[a,b,c],
[a,b,c],
[a,b,c],
[a,b,c],
]
0 1 2
1 0 0 0
2 0 2 4
3 0 3 6
Myarr[0][0]=0; Myarr[0][1]=1; Myarr[0][2]=2; Myarr[1][0]=1; Myarr[1][1]=2; Myarr[1][2]=3
很明显行为2
JavaScript进阶篇
468867 学习 · 22582 问题
相似问题