複製代碼代碼如下:
var a= new Array(new Array(1,2),new Array('b','c'));
document.write(a[1][1]);
說穿了,就是利用for迴圈定義二維數組!
?
<script language="javascript" type="text/javascript">
function Array_2(nRow,nColumn){
var array1=new Array(); //定義一維數組
for(i=0;i<nRow;i++){
//將每一個子元素又定義為數組
array1[i]=new Array();
//----------------------------------------
for(n=0;n<nColumn;n++){
array1[i][n] = ''; //此時aa[i][n]可以看成是二級數組
}
//--------------------------------------
}
return array1;
}
var array_2= Array_2(3,2);
array_2[0][1] = 1;
array_2[0][2] = 2;
array_2[1][1] = 3;
array_2[1][2] = 4;
document.write(array_2[1][2]);
</script>
//虛線部分還可以採用js Array內建物件的push()方法來實現,因為arr1.push(arr2)時候,將會把整個數組arr2做為一個元素加到arr1數組中,所以虛線中的for循環完全可以用下面這條語句替換掉:array1[i].push(new Array(nColumn));
今天也發現,還可以這樣定義也可以做成二維數組;
複製代碼代碼如下:
var a= new Array(new Array(1,2),new Array('b','c'));
document.write(a[1][1]);
ps:注意區分push和concat的差別!
push方法將以新元素出現的順序加入這些元素。如果參數之一為數組,那麼該數組將作為單一元素添加到數組中。如果要合併兩個或多個陣列中的元素,請使用concat 方法。
concat方法傳回一個Array 對象,其中包含了array1 和提供的任意其他項目的連接。要加的項目(item1 … itemN)會依照從左到右的順序加入陣列。如果某一項為數組,那麼將其內容新增至array1 的末端。如果該項目不是數組,就將其作為單一的數組元素添加到數組的末尾。
很好嘛! ! !