Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تسلسل دوال المصفوفات

جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 55 من 65.

يتيح لك تسلسل المصفوفات (Chaining array) إجراء عمليات متعددة على مصفوفة في جملة برمجية واحدة. يمكن لهذا الأسلوب أن يجعل الكود الخاص بك أكثر إيجازاً وقابلية للقراءة.

إليك مثال على ربط توابع المصفوفة (array methods):

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const result = numbers
  .filter(num => num % 2 === 0)
  .map(num => num * 2)
  .reduce((sum, num) => sum + num, 0);

console.log(result); // 60

في هذا المثال، نبدأ بمصفوفة من الأرقام، ونقوم بتصفية الأرقام الفردية، ومضاعفة كل رقم متبقٍ، ثم نجمع النتائج.

ترتيب التسلسل (chaining) مهم. كل دالة (method) في السلسلة تعمل على نتيجة الدالة السابقة.

challenge icon

التحدي

سهل

أنشئ دالة تسمى processFruits تأخذ مصفوفة من كائنات الفاكهة. كل كائن فاكهة يحتوي على الخصائص name (سلسلة نصية) و quantity (رقم).

يجب أن تستخدم الدالة أساليب المصفوفة المتسلسلة (chained array methods) للقيام بما يلي:

  1. تصفية (Filter) الفواكه التي تكون كميتها 0
  2. تحويل اسم كل فاكهة إلى أحرف كبيرة (uppercase)
  3. إنشاء سلسلة نصية تسرد جميع الفواكه مع كمياتها مثل "APPLE: 5, BANANA: 3"

تذكير سريع:

يمكنك استخدام دالة .join(", ") لتحويل مصفوفة من السلاسل النصية إلى سلسلة نصية واحدة.

من الممكن ربط حتى دالة .join() بشكل متسلسل:

arr.filter(...)
   .map(...)
   .join(...)

ورقة مرجعية

يسمح لك تسلسل دوال المصفوفات (Chaining array methods) بإجراء عمليات متعددة على مصفوفة في جملة برمجية واحدة، مما يجعل الكود أكثر إيجازاً وسهولة في القراءة.

تعمل كل دالة في السلسلة على النتيجة الناتجة عن الدالة السابقة:

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const result = numbers
  .filter(num => num % 2 === 0)
  .map(num => num * 2)
  .reduce((sum, num) => sum + num, 0);

console.log(result); // 60

يمكنك أيضاً تسلسل دالة .join() لتحويل مصفوفة إلى سلسلة نصية:

arr.filter(...)
   .map(...)
   .join(", ")

جرّب بنفسك

function processFruits(fruits) {
  // اكتب كودك هنا
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow