js二维数组定义和初始化的三种方法总结

本篇文章主要是对js二维数组定义和初始化的三种方法进行了总结介绍,须要的朋友能够过来参考下,但愿对你们有所帮助数组

方法一:直接定义而且初始化,这种遇到数量少的状况能够用
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]ide

方法二:未知长度的二维数组
spa

复制代码代码以下:.net


var tArray = new Array();   //先声明一维
for(var k=0;k<i;k++){        //一维长度为i,i为变量,能够根据实际状况改变htm


tArray[k]=new Array();    //声明二维,每个一维数组里面的一个元素都是一个数组;it

for(var j=0;j<p;j++){      //一维数组里面每一个元素数组能够包含的数量p,p也是一个变量;io

tArray[k][j]="";       //这里将变量初始化,我这边统一初始化为空,后面在用所需的值覆盖里面的值
 }
}
class


给定义的数组传入所需的值
tArray[6][1]=5;//这样就能够将5的值传入到数组中,覆盖初始化的空变量


方法三:在这以前,以上二者方法都有问题,方法二,每次定义都初始化了,虽而后面能够动态修改,可是仍是不方法float

因此我尝试了一种动态传入值到数组的方法

ps:一些在实践过程当中遇到的数组有趣的现象

原本觉得二维数组能够像下面这样直接传入值

复制代码代码以下:


for(var a=0;a<i;a++){
tArray[a]=(matArray[a],addArray[a]); //matArray[a]和addArray[a]是两个数组,这两个数组直接传入tArray[a]中


};


结果是tArray[a]中收到的是后面一个数组的值,matArray[a]的内容被忽略的,若是换一个位置,matArray[a]在后面,则传入的是addArray[a]的值。


思考:简单的例子:

复制代码代码以下:


var a=[1,2];


var b=[];

b[0]=a;//把数组a做为b数组的元素传入b数组中

alert(b[0][1]);  //2


上面是最简单的二维数组,


上面例子换种写法:

复制代码代码以下:


var b=[];


b[0]=[1,2];//把数组[1,2]做为b数组的元素传入b数组中

alert(b[0][1]);  //2


能够看出上面的b[0]=[1,2]是能够用的

复制代码代码以下:


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


tArray[a]=[ matArray[a],addArray[a] ];  上面例子中的()修改成[] 就能够成功的组成一个二维数组了

};


总结:方法三:

复制代码代码以下:


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


tArray[a]=[ aArray[a],bArray[a],cArray[a]]; 还能够增长dArray[a],eArray[a]

};


这种状况适用于已知几个数组,把他们组合成一个二维数组状况


原文出处:http://www.jb51.net/article/47528.htm

相关文章
相关标签/搜索