방법 1: 직접 정의하고 초기화하는 방법은 숫자가 적을 때 사용할 수 있습니다.
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]
방법 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를 배열에 전달하여 초기화된 빈
방법 3: 이전에는 위의 두 가지 방법 모두 문제가 있었습니다. 방법 2에서는 각 정의가 나중에 동적으로 수정될 수 있지만 여전히 작동하지 않습니다.
그래서 배열에 값을 동적으로 전달하는 방법을 시도해보았습니다
ps: 실제로 배열에서 발생하는 몇 가지 흥미로운 현상
저는 원래 2차원 배열이 다음과 같이 값을 직접 전달할 수 있다고 생각했습니다
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 b=[];
b[0]=a;//배열 a를 배열 b의 요소로 배열 b에 전달
alert(b[0][1]) //2
위 예를 작성하는 또 다른 방법:
b[0]=[1,2];//배열 [1,2]를 b 배열의 요소로 b 배열에 전달
경고(b[0][1]) //2
tArray[a]=[ matArray[a],addArray[a] ]; 위의 예에서 ()가 []로 변경되어 2차원 배열이 성공적으로 형성되었습니다.
};
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>