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

相關文章
相關標籤/搜索