في هذا الدرس 5تصفّح المواضيع
ببساطة اذا كان ليدينا 10 ناقلات شحن بداخل كل شاحنه عشرة صناديق واخبرنا العامل الذي يفرغ هذه الشاحنات اننا بحاجه لصندوق من هذة الشاحنات بداخله جهاز كمبيوتر لوحي كيف نحدد له ذلك؟
اولاً يجب علينا ابلاغ العامل رقم الشاحنه الذي يوجد بداخلها هذا الصندوق الذي يحتوي علي جهاز كمبيوتر لوحي فاذاً نحدد له رقم الشاحنه الخامسه مثلاً ثم الصندوق التاسع فهنا رقمين الارقم الاول وهو 5 التابع للشاحنة ثم رقم الصندوق هو رقم 9 هذه هي نفس نظرية المصفوفات الرقم يكتب بداخل square brackets [5][9] فهذا هو index of index فهرس الفهرس, كل فهرس يضع بداخل square brackets.
مصفوفة متعددة الابعاد Multidimensional Arrays:
- الشاحانات هي المصفوفة الرئيسية.
- الصناديق هي مصفوفة فرعية بداخل المصفوفة الرئيسية.
فهرس من فهرس index of index
فهرس من فهرس trucks[0][0]
let trucks= [
["Laptop","Mouse","Keyboard"],
["TV","Mobie'","Lamp"],
["Baby Car","Toys"]
];
document.write("<b>" + trucks[0][0] + "<b>");
مصفوفات متعدده الأبعاد Multidimensional Array هي عباره عن Array وتحتوي بداخلها عن مجموعة مصفوفات فرعية Multi Array اي انها مصفوفات متداخلة.
- المصفوفة العادية Array يخزن بداخلها مجموعة قيم Values وتسمي عناصر.
- المصفوفة المتعددة Multidimensional Array يخزن بداخلها مجموعه من المصفوفات Arrays بداخل المصفوفة الاصلية.
طريقه غير مقروءة
لا ننصح بهذة الطريقه في المصفوفات متعددة الابعاد لانها غير مقروءة ولكنها تعد طريقه صحيحة.
let students = [["Ahmed",25,'Programmer'],["Aly",44,'IT'],["Samy",33,'Cyber Security Engineer']];
document.write("<b>" + students + "<b>");
طريقه مقروءة
ننصح بهذة الطريقه في المصفوفات متعددة الابعاد لانها مقروءة وهي تعد الطريقه صحيحة.
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" + students + "<b>");
اضافة من مصفوفات مسبقة
هذة طريقه اخري صحيحة ندمج مصفوفات عادية منشأه مسبقاً ثم نقوم باضافتهم داخل مصفوفة جديدة.
let student_1 = ["Ahmed",25,'Programmer'];
let student_2 =["Aly",44,'IT'];
let student_3 = ["Samy",33,'Cyber Security Engineer'];
let students = [student_1 ,student_3 ,student_3 ];
document.write("<b>" + students + "<b>");
نصوص مع مصفوفات
يمكننا دمج نصوص مع مصفوفات داخل مصفوفة متعددة الابعاد Multidimensional Array.
let students = ["Ahmed","Aly",["Samy",33,'IT']];
document.write("<b>" + students+ "<b>");
هناك طريقيتين لطباعة المصفوفات المتداخلة وهي :
- طباعة جميع قيم المصفوفات الداخلية وهي عن طريق index number واحد فقط.
- طباعة بعض القيم من المصفوفات الداخلية وهي عن طريق index number المصفوفة مع index number الداخلي للقيم لتصبح بهذا الشكل [0][0].
نقوم بتحديد المصفوفة الداخلية عن طريق ال index number في حال طباعة جميع قيم هذة المصفوفة.
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" + students[0] + "<b><br>");
document.write("<b>" + students[1] + "<b><br>");
document.write("<b>" + students[2] + "<b><br>");
نقوم في البداية بتحديد المصفوفة الداخلية عن طريق ال index number ثم نقوم بتحديد عنصر المصفوفة عن طريق ال index number اخر.
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" + students[0][0] + "<b><br>");
document.write("<b>" + students[0][2] + "<b><br>");
document.write("<b>" + students[2][0] + "<b><br>");
document.write("<b>" + students[2][1] + "<b><br>");
طباعة اول عنصر اذا كان String نص او طباعة اي عنصر اذا كان مصفوفة بداخل المصفوفات المتعدده, النص يحتاج الي index فقط اما المصفوفة المتداخلة index of index.
let students = ["Ahmed","Aly",["Samy",33,'IT']];
document.write("<b>" + students[0]+ "<b><br>");
document.write("<b>" + students[1][0]+ "<b><br>");
document.write("<b>" + students[2][0]+ "<b>");
يمكننا استخدام دالة ()push في جافا سكريبت Array's push() method لاضافة:
- عنصر للمصفوفة متعددة الابعاد او المتداخلة Multidimensional Array.
- مصفوفة اخري لمصفوفة متعددة الابعاد او المتداخلة Multidimensional Array.
اضافة مصفوفة
اضافة مصفوفة اخري لمصفوفة متعددة الابعاد او المتداخلة Multidimensional Array.
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>Before Add : " +students+ "<b><br>");
students.push(["khaled",34,"Web Designer"]);
document.write("<b>After Add : " +students+ "<b><br>");
اضافة عنصر للمصفوفة
اضافة عنصر للمصفوفة متعددة الابعاد او المتداخلة Multidimensional Array.
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" +students+ "<b><br>");
students.push("Khaled");
document.write("<b>" +students+ "<b><br>");
اضافة عنصر لمصفوفة محددة
اضافة عنصر للمصفوفة محددة داخل المصفوفة متعددة الابعاد او المتداخلة Multidimensional Array قمنا باضافة للمصفوفة الاولي قيمة Genius.
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" +students[0]+ "<b><br>");
students[0].push("Genius");
document.write("<b>" +students[0]+ "<b><br>");
يمكننا استخدام دالة ()pop في جافا سكريبت Array's pop() method لحذف:
- عنصر من مصفوفة متعددة الابعاد او المتداخلة Multidimensional Array.
- عنصر من مصفوفة اخري لمصفوفة متعددة الابعاد او المتداخلة Multidimensional Array.
حذف مصفوفة من المصفوفات المتعددة
قمنا بحذف اخر مصفوفة فرعية من داخل مصفوفة students وهي كل عناصر اخر مصفوفة وهي ["Samy",33,'Cyber Security Engineer'].
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" +students+ "<b><br>");
students.pop();
document.write("<b>" +students+ "<b><br>");
حذف عنصر من المصفوفات المتعددة
قمنا بحذف اخر عنصر من المصفوفة فرعية الاولي وهي كلمة Programmer من ["Ahmed",25,'Programmer'] لتصبح ["Ahmed",25].
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" +students+ "<b><br>");
students[0].pop();
document.write("<b>" +students+ "<b><br>");
حذف باستخدام دالة ()splice
يمكننا استخدام دالة ()splice لحذف عنصر من المصفوفات.
let students = [
["Ahmed",25,'Programmer'],
["Aly",44,'IT'],
["Samy",33,'Cyber Security Engineer']
];
document.write("<b>" +students+ "<b><br>");
students.splice(1,1)
/* After Remove*/
document.write("<b>" +students+ "<b><br>");
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.