前言
js的数组和php有些不同,他的定义方法,自定义下标只有一种方法 var arr['a'] = 1
,不能像php一样 $arr = ['a'=>1]
,还有种没有下标的自定义方法 就是下面方法一那种方法
方法一:直接定义并且初始化,这种遇到数量少的情况可以用
1 | var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] |
方法二:未知长度的二维数组
1 | var tArray = new Array(); //先声明一维 |
给定义的数组传入所需的值
1 | tArray[6][1]=5;//这样就可以将5的值传入到数组中,覆盖初始化的空 |
方法三:在这之前,以上两者方法都有问题,方法二,每次定义都初始化了,虽然后面可以动态修改,但是还是不方法
所以我尝试了一种动态传入值到数组的方法
ps:一些在实践过程中遇到的数组有趣的现象
本来以为二维数组可以像下面这样直接传入值
1 | for(var a=0;a<i;a++){ |
结果是tArray[a]中收到的是后面一个数组的值,matArray[a]的内容被忽略的,如果换一个位置,matArray[a]在后面,则传入的是addArray[a]的值。
思考:简单的例子:
1 | var a=[1,2]; |
上面是最简单的二维数组,
上面例子换种写法:
1 | var b=[]; |
总结:方法三:
1 | for(var a=0;a<i;a++){ |
这种情况适用于已知几个数组,把他们组合成一个二维数组情况