วิธีที่ 1: กำหนดและเริ่มต้นได้โดยตรง ซึ่งสามารถใช้ได้เมื่อมีจำนวนน้อย
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","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 จึงสามารถส่งผ่านไปยังอาร์เรย์ได้ โดยเขียนทับค่าว่างที่เตรียมใช้งานไว้
วิธีที่สาม: ก่อนหน้านี้ ทั้งสองวิธีข้างต้นมีปัญหา วิธีที่สอง แต่ละคำจำกัดความจะเริ่มต้นได้ แม้ว่าจะสามารถแก้ไขได้ในภายหลัง แต่ก็ยังใช้งานไม่ได้
ดังนั้นฉันจึงลองวิธีส่งผ่านค่าไปยังอาร์เรย์แบบไดนามิก
ป.ล. : ปรากฏการณ์ที่น่าสนใจบางอย่างกับอาร์เรย์ที่พบในการปฏิบัติ
เดิมทีฉันคิดว่าอาเรย์สองมิติสามารถส่งผ่านค่าได้โดยตรงดังนี้
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(b[0][1]); // 2
ข้างต้นเป็นอาร์เรย์สองมิติที่ง่ายที่สุด
อีกวิธีหนึ่งในการเขียนตัวอย่างข้างต้น:
var b=[];b[0]=[1,2];//ส่งอาร์เรย์ [1,2] เป็นองค์ประกอบของอาร์เรย์ b ไปยังการแจ้งเตือนอาร์เรย์ b (b[0] [1]); //2
จะเห็นได้ว่า b[0]=[1,2] ข้างต้นสามารถใช้ได้
for(var a=0;a<i;a++){tArray[a]=[ matArray[a],addArray[a] ]; ในตัวอย่างข้างต้น () สามารถเปลี่ยนเป็น [] เพื่อสร้างรูปแบบ two- ได้สำเร็จ อาร์เรย์มิติ };
สรุป: วิธีที่สาม:
for(var a=0;a<i;a++){tArray[a]=[ aArray[a],bArray[a],cArray[a]]; คุณยังสามารถเพิ่ม dArray[a],eArray[a]} ได้ด้วย ;
สถานการณ์นี้ใช้ได้กับกรณีที่รู้จักอาร์เรย์หลายตัวและรวมเป็นอาร์เรย์สองมิติ
JS สร้างอาร์เรย์หลายมิติ
<script> var allarray=new Array(); var res=""; function loaddata() { สำหรับ(var i=0;i<3;i++) { var starh=i*200; var endh=(i+1)*200; var endw=(i+1)*200; allarray[i]=อาร์เรย์ใหม่(); allarray[i][0]=new Array(); allarray[i][1]=new Array(); allarray[i][0]=starth; allarray[i][1]= strarw; allarray[i][1][0]=endh; allarray[i][1]=endw; } สำหรับ(var i=0;i<allarray.length;i++) { var sh=allarray[i][0][0]; var sw=allarray[i][0][1] var เอ๊ะ=allarray[i][1][0]; var ew=allarray[i][1 ][1] res+="พิกัดเริ่มต้นของพิกัดที่ "+i+" คือ: "+sh+", "+sw+" และพิกัดสิ้นสุดคือ: "+eh+", "+ew+"<br/>" } document.getElementById ("dv ").innerHTML=res; }</script>
ข้อมูลเพิ่มเติม:
ตอนที่ฉันทำงานโปรเจ็กต์ในช่วงสองวันที่ผ่านมา ฉันต้องส่งอาร์เรย์สองมิติที่มีชื่อสตริงคีย์ผ่าน js อย่างไรก็ตาม เมื่อฉันส่งมันไปที่พื้นหลัง ฉันลองหลายวิธีแล้ว แต่มันก็ไม่ได้ผล ใช้งานไม่ได้ วันนี้ผมจะมาแนะนำ: คำถามเกี่ยวกับการเริ่มต้นอาร์เรย์ js;
และวิธีส่งผ่านอาร์เรย์ด้วยชื่อคีย์สตริงภายใต้ Ajax
อาร์เรย์หนึ่งมิติ:
อาร์เรย์หนึ่งมิติสามารถตั้งชื่อได้โดยใช้ตัวเลขหรือสตริง
var data = [];//ฉันไม่รู้ตัวเลข
var data = new Array(); //ไม่ทราบตัวเลข
หากคุณทราบตัวเลข สามารถใช้ค่าเฉพาะได้:
var data = อาร์เรย์ใหม่ (1); ข้อมูล ['a'] = 'a';
หรือ
ข้อมูล var= ['a'];
อาร์เรย์สองมิติ:
อาร์เรย์สองมิติไม่สนับสนุนชื่อคีย์สตริง
หนึ่ง:
ข้อมูล var = [];data.push(['a']);
หรือ
var data_1 = ['a'];ข้อมูล[0]=data_1;
สอง:
var data=อาร์เรย์ใหม่();สำหรับ(var i=0;i<2;i++){data[i]=อาร์เรย์ใหม่(); for(var j=0;j<2;j++){data[i] [ญ]=1;}
เตือน:
เมื่อใช้ Ajax เพื่อส่งข้อมูล อาร์เรย์ js จะต้องเป็นชื่อคีย์ตัวเลข
หากคุณต้องการใช้สตริงเพื่อสร้างชื่อ คุณต้องใช้อ็อบเจ็กต์ ดังนี้:
ข้อมูล var ={'a':{'id':1,'url':h}};
บทความนี้จะแนะนำสิ่งนี้
การพิจารณาคำจำกัดความและความยาวของอาร์เรย์สองมิติ JS
กำหนดอาร์เรย์สองมิติแบบไดนามิก:
1. กำหนดมิติหนึ่งก่อน:
var arr = อาร์เรย์ใหม่ ();
2. กำหนดสองมิติ:
arr[0] = อาร์เรย์ใหม่();
arr[1] = อาร์เรย์ใหม่();
3. กำหนดค่าให้กับอาร์เรย์:
arr[0][0] = "00";
arr[0][1] = "01";
arr[1][0] = "10";
arr[1][1] = "11";
4. กำหนดความยาวของอาเรย์:
จำนวนแถวในอาร์เรย์สองมิติ: arr.length
จำนวนคอลัมน์ในแถวที่เกี่ยวข้อง: arr[0].length //ความยาวของแถวแรกคือ 2 ตามตัวอย่างข้างต้น
5. การโทรแบบอาร์เรย์:
ง่ายมาก: var str = arr[0][0];