الطريقة الأولى: التحديد والتهيئة مباشرةً، ويمكن استخدامها عندما يكون الرقم صغيرًا.
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 إلى المصفوفة، والكتابة فوق القيمة الفارغة
الطريقة الثالثة: قبل ذلك، واجهت كلتا الطريقتين المذكورتين أعلاه مشاكل. الطريقة الثانية، تمت تهيئة كل تعريف على الرغم من أنه يمكن تعديله ديناميكيًا لاحقًا، إلا أنه لا يزال لا يعمل.
لذلك جربت طريقة لتمرير القيم ديناميكيًا إلى المصفوفة
ملاحظة: بعض الظواهر المثيرة للاهتمام مع المصفوفات التي تمت مواجهتها في الممارسة العملية
اعتقدت في الأصل أن المصفوفة ثنائية الأبعاد يمكنها تمرير القيمة مباشرة على النحو التالي
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;// تمرير المصفوفة أ إلى المصفوفة ب كعنصر في المصفوفة ب تنبيه(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] ]; في المثال أعلاه، يمكن تغيير () إلى [] لتكوين ثنائي بنجاح مصفوفة الأبعاد };
ملخص: الطريقة الثالثة:
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 uploaddata() { for(var i=0;i<3;i++) { var starth=i*200; var endh=(i+1)*200; var endw=(i+1)*200; allarray[i][0]=new Array(); allarray[i][1]=new Array(); strarw; var sh=allarray[i][0][0]; var sw=allarray[i][0][1] var eh=allarray[i][1][0]; ][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 = new Array(1);data['a'] = 'a';
أو
فار البيانات= ['أ'];
مصفوفة ثنائية الأبعاد:
لا تدعم المصفوفات ثنائية الأبعاد أسماء مفاتيح السلسلة.
واحد:
فار البيانات = [];data.push(['a']);
أو
var data_1 = ['a'];data[0]=data_1;
اثنين:
var data=new Array();for(var i=0;i<2;i++){data[i]=new Array(); for(var j=0;j<2;j++){data[i] [ي]=1;}
يتذكر:
عند استخدام Ajax لتمرير البيانات، يجب أن تكون مصفوفة js عبارة عن اسم مفتاح رقمي.
إذا كنت تريد استخدام سلسلة لإنشاء اسم، فيجب عليك استخدام كائن: كما يلي:
فار البيانات ={'a':{'id':1,'url':h}};
يقدم هذا المقال هذا.
التعريف والحكم على طول مصفوفة JS ثنائية الأبعاد
تعريف صفيف ثنائي الأبعاد ديناميكيًا:
1. حدد بُعدًا واحدًا أولاً:
var arr = new Array();
2. تحديد بعدين:
arr[0] = new Array();
arr[1] = new Array();
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];