|
|
🧠 الدرس الأول: الدوال التي تستقبل مصفوفات كوسائط (Functions with Array Parameters)
|
|
📌 مقدمة
|
|
|
في الدرس السابق، تعلمنا أن فهرس المصفوفة يبدأ من الصفر. يعني ذلك أن أول عنصر في المصفوفة يُكتب هكذا: values[0]، والثاني values[1]، وهكذا...
|
|
|
الآن سنأخذ هذه الفكرة خطوة للأمام، ونتعلم كيف نستخدم الدوال (functions) التي تستقبل مصفوفة كوسيط.
|
|
🧪 ما هي الدالة التي تستقبل مصفوفة؟
|
|
|
الدالة هي مجموعة من التعليمات تنفذ مهمة معينة. وعندما نقول إن الدالة تستقبل مصفوفة، فنحن نعني أنها تأخذ مجموعة من القيم وتتعامل معها.
|
|
|
مثال بسيط:
|
|
|
|
|
|
هنا لدينا دالة اسمها getFirstItem، وتستقبل وسيطًا اسمه items، وهو عبارة عن مصفوفة.
|
|
🧾 كيف نستخدم هذه الدالة؟
|
|
|
|
|
|
في المثال أعلاه، نمرر مصفوفات إلى الدالة، مثل [1, 2, 3]. المطلوب من الدالة أن ترجع أول عنصر من هذه المصفوفة.
|
|
|
لكن انتبه! لا نكتب:
|
|
|
|
|
|
ولا:
|
|
|
|
|
|
لأن هذا يسمى حلًا مخصصًا (hardcoded)، أي أنه يعمل فقط مع هذه القيم، وليس مع أي مصفوفة أخرى.
|
|
✅ الحل الصحيح
|
|
|
نستخدم اسم الوسيط items ونطلب منه أول عنصر:
|
|
|
|
|
📝 ملاحظات مهمة:
|
|
- لا تنسَ كلمة return، فهي التي تجعل الدالة تُرجع قيمة.
- items[0] ليست إجابة مخصصة، بل هي الطريقة الصحيحة للحصول على أول عنصر من أي مصفوفة.
- من الأفضل دائمًا أن نسمي المصفوفات بصيغة الجمع مثل items أو values، لأن المصفوفة تحتوي على أكثر من عنصر.
|
|
|
|
🧠 الدرس الثاني: الدوال التي تستقبل مصفوفات - الجزء الثاني
|
|
|
Functions with Array Parameters II
|
|
📌 مراجعة سريعة
|
|
|
في الدرس السابق، تعلمنا كيف نكتب دالة تستقبل مصفوفة وتُرجع أول عنصر منها. مثلًا:
|
|
|
|
|
|
لكن هنا نبدأ نلاحظ نقطة مهمة:
حتى لو كتبنا items[0]، هذا لا يعني أن items يجب أن تكون مصفوفة.
لو استدعينا الدالة هكذا:
|
|
|
|
|
|
فسيحدث خطأ لأن true[0] غير منطقي — true ليس مصفوفة!
|
|
|
💡 الدرس هنا:
دائمًا راجع نوع البيانات التي تُمرر للدالة. هل هي مصفوفة؟ سلسلة نصية؟ رقم؟ منطقية؟
لكن لا تعتمد على القيم نفسها، فقط على نوعها.
|
|
⚠️ الوصول لعناصر غير موجودة
|
|
|
افترض أن لدينا المصفوفة التالية:
|
|
|
|
|
|
إذا حاولت الوصول إلى grades[3] أو grades[4]، فستحصل على undefined لأن هذه العناصر غير موجودة.
|
|
|
🔍 هذا مهم جدًا أثناء تصحيح الأخطاء. إذا رأيت undefined في النتيجة، فربما استخدمت فهرسًا خاطئًا.
|
|
📌 ملاحظة حول آخر عنصر في المصفوفة
|
|
|
تذكر أن الفهرسة تبدأ من الصفر، لذلك:
|
|
|
|
|
|
في الدروس القادمة، سنتعلم كيف نحصل دائمًا على آخر عنصر مهما كان عدد العناصر.
|
|
🧪 تطبيق معرفتك في JavaScript
|
|
|
الآن نستخدم الدمج (concatenation) والتداخل (interpolation) داخل دالة تستقبل مصفوفة.
|
|
|
مثال:
|
|
|
|
|
|
📌 الاستخدام:
|
|
|
|
|
|
هنا names[0] هو الاسم الأول، وnames[1] هو اسم العائلة.
|
|
✅ الحل باستخدام طريقتين:
|
|
|
1. الدمج (Concatenation):
|
|
|
|
|
|
2. التداخل (Interpolation):
|
|
|
|
|
|
اختر الطريقة التي تفضلها، فكلتاهما صحيحة.
|
|
📝 خلاصة الدرس
|
|
- إذا حاولت الوصول إلى عنصر غير موجود في المصفوفة، ستحصل على undefined.
- آخر عنصر في المصفوفة يكون عند الفهرس عدد العناصر - 1.
- راجع نوع البيانات التي تمررها للدالة، وليس فقط القيم.
- استخدم معرفتك في الدمج والتداخل لتكوين نصوص من عناصر المصفوفة.
|
|
|
|
📚 ملخص الفصل
|
|
- ✅ الوصول إلى عنصر غير موجود في المصفوفة:
إذا حاولت الوصول إلى عنصر في المصفوفة باستخدام فهرس غير صحيح (أكبر من عدد العناصر)، فستحصل على القيمة undefined
- فهرسة آخر عنصر في المصفوفة:
بما أن الفهرسة تبدأ من الصفر، فإن آخر عنصر في المصفوفة يكون دائمًا في الموقع:عدد العناصر - 1
أمثلة:
- مصفوفة فيها عنصران → آخر عنصر في index = 1مصفوفة فيها 5 عناصر → آخر عنصر في index = 4
- مصفوفة فيها عنصران → آخر عنصر في index = 1
- مصفوفة فيها 5 عناصر → آخر عنصر في index = 4
|
|
التعليقات