首頁 > web前端 > js教程 > 主體

js二維數組定義和初始化的三種方法總結_javascript技巧

WBOY
發布: 2016-05-16 16:57:34
原創
2271 人瀏覽過

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

方法二:未知長度的二維陣列

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:一些在實踐過程中遇到的數組有趣的現象

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

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

tArray[a]=[ matArray[a],addArray[a] ];  上面例子中的()修改為[] 就可以成功的組成一個二維數組了

};


總結:方法三:
複製程式碼 程式碼如下:

for(var a=0;a

tArray[a]=[ aArray[a],bArray[a],cArray[a]]; 還可以增加dArray[a],eArray[a]

};


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

JS 建立多維數組

 <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>
登入後複製

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板