JavaScript -- 定義二維數組


方法一:直接定義並且初始化,這種遇到數量少的情況可以用
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]

方法二:未知長度的二維數組

 
1
2
3
4
5
6
7
8
9
10
var tArray = new Array();  //先聲明一維
for ( var k=0;k<i;k++){    //一維長度為i,i為變量,可以根據實際情況改變
 
tArray[k]= new Array();  //聲明二維,每一個一維數組里面的一個元素都是一個數組;
 
for ( var j=0;j<p;j++){   //一維數組里面每個元素數組可以包含的數量p,p也是一個變量;
 
tArray[k][j]= "" ;    //這里將變量初始化,我這邊統一初始化為空,后面在用所需的值覆蓋里面的值
  }
}

給定義的數組傳入所需的值
tArray[6][1]=5;//這樣就可以將5的值傳入到數組中,覆蓋初始化的空

方法三:在這之前,以上兩者方法都有問題,方法二,每次定義都初始化了,雖然后面可以動態修改,但是還是不方法

所以我嘗試了一種動態傳入值到數組的方法

ps:一些在實踐過程中遇到的數組有趣的現象

本來以為二維數組可以像下面這樣直接傳入值

 
1
2
3
4
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]

};


這種情況適用於已知幾個數組,把他們組合成一個二維數組情況

 

 

JS 創建多維數組

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script>
   var allarray= new Array();
   var res= "" ;
   function loaddata()
   {
    for ( var i=0;i<3;i++)
  {
  var starth=i*200;
  var strarw=i*200;
  var endh=(i+1)*200;
  var endw=(i+1)*200;
  allarray[i]= new Array();
  allarray[i][0]= new Array();
  allarray[i][1]= new Array();
  allarray[i][0][0]=starth;
  allarray[i][0][1]=strarw;
   allarray[i][1][0]=endh;
  allarray[i][1][1]=endw;
  }
   for ( var i=0;i<allarray.length;i++)
   {
     var sh=allarray[i][0][0];
     var sw=allarray[i][0][1]
      var eh=allarray[i][1][0];
     var ew=allarray[i][1][1]
     res+= "第" +i+ "個坐標的開始坐標是:" +sh+ "," +sw+ "結束坐標是:" +eh+ "," +ew+ "<br/>" ;
   }
   document.getElementById( "dv" ).innerHTML=res;
   }
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM